ASP.NET知识点总结9

1真分页的SQL

在上几篇博客中讲的GridView的分页是一种假的分页。这种分页就是把数据库所有的内容查出来,在一页中显示几个,然后在自动给排几页。如果数据量大的时候,这种分页显示的不行的。 真分页应该是根据一页分几条数据,从数据库中查几条。我只会写查几条的SQL语句。有人说根据id不就可以了吗?因为数据有增删,所以id并不连续,不可根据id来查。

我这儿只是简单举个例子。

with temptbl as(
select ROW_NUMBER () over (order by id asc )as 行号, * from news)
select * from temptbl where 行号 between 4 and 7

2判断session

为何要判断session?因为网页不是客户端,它有多个入口,只要输入相关的网址就可以不用登录就到主页。比如:网址为:http://localhost/login.aspx,这样才对。但是在地址栏改为http://localhost/main.aspx,或者是对应的其他网页就可以不登录就访问你的 网址了。这就相当于你给你的家建立了一个大门,但是别人非要从你的窗户来你家,也未尝不可。这时你就该告诉他们走窗户不行,必须从门进来。

在登录页面:Session["admin"] = name;  //把用户名用session存起来

在其他页面:(简单点,我的用户名是写的固定的“ccc”)

// 判读session里面是否存在管理员
            if (Session["admin"] != null && Session["admin"].ToString() == "ccc")
            {
                //已经登录
           
                }
            
            }
            else
            {
                //未登录,重定向到登录页。
                Response.Redirect("login.aspx");
            }

3.NET中内置的ajax控件

阿贾克斯技术,是一种局部刷新的技术。主要效果就是页面不闪烁,不刷新,而是局部进行刷新,在web中应用非常广泛。

主要用到的就是上面这两个控件。

  <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>  //先放一个ScriptManager控件
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">   //再在下面放一个UpdatePanel控件
            <ContentTemplate>     //项模版,在里面放要局部刷新的控件,我放了一个table
             <table class="m_table">
                <tr>
                    <th class="xuhao">
                        序号
                    </th>
                    <th>
                        标题
                    </th>
                    <th class="mod">
                        修改
                    </th>
                    <th class="del">
                        删除
                    </th>
                </tr>
                <asp:Repeater ID="repNews" runat="server">
                 <ItemTemplate>
                    <tr>
                    <td>
                       <%# Eval("id") %>
                    </td>
                    <td><a href='../content.aspx?newsid=<%# Eval("id") %>' target="_blank" >
                         <%# Eval("title") %>
                        </a>
                    </td>
                    <td id="mod">
                        <a href="modefy.aspx?newsid='<%# Eval("id") %>'">修改</a>
                    </td>
                    <td>
                        <asp:LinkButton ID="lbtnDel" OnClientClick="return confirm('删除新闻会连同其下的新闻评论一起删除,是否继续')" OnClick="lbtnDel_Click" CommandArgument=' <%# Eval("id") %>' runat="server">删除</asp:LinkButton>
                    </td>
                </tr>
                 </ItemTemplate>
                </asp:Repeater>

                
               
            </table>
            </ContentTemplate>
            </asp:UpdatePanel>

4出错页

web.config设置

<configuration>
  <!--数据库连接字符串 -->
  <connectionStrings>
    <add name="connStr" connectionString="server=.;database=newssystem;uid=sa;pwd=123456;"/> //连接你的数据库
  </connectionStrings>
  <system.web>
    <!--出现错误的时候,自动导向-->
    <customErrors mode="On" defaultRedirect="~/error.htm"/>  //每次页面崩溃时,不会暴露原码,而是转到错误页面。~代表根目录
错误页的倒计时脚本
<script language="javascript" type="text/javascript">
        var i = 5;
        var intervalid;
       intervalid= setInterval("fun()", 1000); //1000毫秒为1s
        function fun() {
            if (i == 0) {
                window.location.href = "Defeault.aspx";
                clearInterval(intervalid);
            }
            document.getElementById("mes").innerHTML = i;
            i--;
        }
    
    
    </script>

以上是一段JavaScript的脚本,我就不解释了,因为我也看不懂,用来倒计时。这个功能非常常见,比如说,考试系统学生交卷后,5s自动跳到首页。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值