Asp.net之内置对象

今天小编来学习一下Asp.net内置对象,首先我们从简单入手,先用表格说明一下:Request和Response

<body>
    <table border="1" width="600px" bordercolordark="#2B72A2" bordercolorlight="#993333">
        <tr><td colspan="2" bgcolor="#80ffff">Request</td></tr>
        <tr><td>ApplicationPath(网站路径</td><td><%=Request.ApplicationPath%></td></tr>
        <tr><td>ContentEncoding(网站编码</td><td><%=Request.ContentEncoding%></td></tr>
        <tr><td>Cookies个数</td><td><%=Request.Cookies.Count%></td></tr>
        <tr><td>QueryString个数</td><td><%=Request.QueryString.Count%></td></tr>
        <tr><td>UrlReferrer(上一个请求页面)</td><td><%=Request.UrlReferrer %></td></tr>
        <tr><td colspan="2" bgcolor="#80ffff">Response</td></tr>
        <tr><td>Charset</td><td><%=Response.Charset%></td></tr>
        <tr><td>ContentEncoding(网页编码)</td><td><%=Response.ContentEncoding%></td></tr>
        <tr><td>Cookies个数</td><td><%=Response.Cookies.Count %></td></tr>
        <tr><td>ContentType</td><td><%=Response.ContentType %></td></tr>
    </table>
</body>

附源码:Request对象封装了客户端的请求信息;Response对象代表了服务器响应的对象,每次客户端发出请求的时候,服务器就会用一个响应对象来处理这个请求,并且每次处理完毕服务器都会销毁这个对象。

Request
ApplicationPath(网站路径/
ContentEncoding(网站编码System.Text.UTF8Encoding
Cookies个数0
QueryString个数0
UrlReferrer(上一个请求页面)
Response
Charsetgb2312
ContentEncoding(网页编码)System.Text.DBCSCodePageEncoding
Cookies个数0
ContentTypetext/html
接下来我们学习Server对象和Cookie对象 and Application对象
Server:用于获取服务器相关信息
属性名返回值类型说明
Executevoid执行指定的资源,并且在执行完之后再执行本页的代码
HTMLDecodestring消除对特殊字符串编码的影响
属性名返回值类型说明
属性名返回值类型说明
属性名返回值类型说明
属性名返回值类型说明

Cookio对象和Session对象一样用来保存特定的用户相关的数据,但是Session保存到服务器而Cookie保存在客户端,每次客户都需要重新把Cookie发送到客户端保存。

  • Cookie只能保存字符串类型数据。
  • Cookie也有其默认的生命周期,亦可手动设置,最大50年。
  • Cookie只保存在客户端。
  • 因为一个网站Cookie不止一个,所以可以区分不同的Cookie

  • Session/Cookie/Application区别
    名称使用范围存储位置存放数据类型>声明周期
    Session特定用户服务器Object,任意类型>有,可以自行设置
    Cookie特定用户客户端String,字符串自行设置
    Application所有用户服务器Object,任意类型>

    小试牛刀:

    <body>
        <%//如果没有设置名为"ApplicationCount"的Application
            int applicationCount = 1;
            int sessionCount = 1;
            if (Application["ApplicationCount"] == null)
            {
                Application["ApplicationCount"] = 1;
            }
            else //否则取出该Session,并且在当前值上加
            {
                applicationCount = (int)Application["ApplicationCount"] + 1;
                Application["ApplicationCount"] = applicationCount;
            }
            //如果Session["SessionCount"]为空,即没有设置该名字的Session
            if (Session["SessionCount"]==null)
            {
                Session["SessionCount"] = 1;
            }
            else
            {
                sessionCount = (int)Session["SessionCount"] + 1;
                Session["SessionCount"] = sessionCount;
            }
            Response.Write("当前页面由Application记录到的被访问了" + applicationCount + "次<br/>");
            Response.Write("当前页面由Session记录到的被访问了" + sessionCount + "br/>");
           %>
    </body>
    

    在这里插入图片描述

    最后我们学习一下<%%>and<%=%>and Response.Write()输出

    首先我们用Response对象输出九九乘法表:

    <body>
        <table border="1"width="600px">
            <tr><th colspan="9">九九乘法表</th></tr>
            <%
                for (int i = 1; i < 10; i++)
                {
                    Response.Write("<tr>");
                    for (int j = 0; j < 10; j++) //输出一行中的列
                    {
                        if (j<=i) //如果有内容
                        {
                            Response.Write(string.Format("<td>{0}*{1}={2}</td>", j, i, j * i));
    
                        }
                        else
                        {
                            //否则输出空单元格
                            Response.Write("<td> </td>");
                        }
                    }
                    Response.Write("</tr>");
                }
                %>
    </table>
    

    在这里插入图片描述我们利用%来进行表达:

    <body>
        <table border="1"width="600px">
            <tr><th colspan="9">九九乘法表</th></tr>
            <%
                for (int i = 1; i < 10; i++)
                {
                    %><tr><%
                    for (int j = 0; j < 10; j++) //输出一行中的列
                    {
                        if (j<=i) //如果有内容
                        {
                           %>
                             <td><%=j%>*<%=i%>=<%=i*j%></td>
                             <%
    
                        }
                        else
                        {
                            //否则输出空单元格
                            %><td> </td>
                                <%
                        }
                    }
                   %></tr><%
                }
                %>
        </table>
    </body>
    
    三者区别
    <%%>用来编写程序的代码部分,此处没有过多解释
    <%=%>用来向输出流中输出变量的值
    Response.Write()输出和<%=%>效果一样,但是在书写代码的时候不好书写
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值