找回密码
 会员注册
查看: 161|回复: 0

ASP.NET的六大对象介绍

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962990
发表于 2024-2-29 08:52:40 | 显示全部楼层 |阅读模式

目录

ASP.NET含义:

1.Request对象:

 简单.NET程序示例 1:

示例2 :

2.Response对象:

示例2:

3.Server对象

 示例3:HtmlEncode,HtmlDecode,MapPath

4.Session对象

示例4:

Session练习1:从初始页面传2个整数到Receive.aspx页面进行相加。

session练习2:

Session练习3:购物车

5.Application对象

例子1

6.ViewState对象-暂不介绍

综合示例:聊天室

 


ASP.NET含义:

         ASP(Active Server Pages,活动服务器网页)是Microsoft公司推出的一项动态网页开发技术。       

        ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,其主要功能是把脚本、HTML、组件和Web数据库访问功能有机地结合在一起,形成一个能在服务器端运行的应用程序,该应用程序可根据来自浏览器端的请求生成相应的HTML文档并回送给浏览器。

获取静态网页过程:

 客户端动态网页:

服务器端动态网页:

ASP.NET内置对象:

Request对象

封装了浏览器向Web服务器发送的HTTP请求消息

Response对象

封装了Web服务器向浏览器发送的HTTP响应消息

Server对象

提供对服务器上的方法和属性进行的访问

Session对象

用于存储特定用户会话所需的信息

Application对象

代表运行在Web服务器上的ASP.NET应用程序

ViewState对象

仅在页面提交到服务器之前有效,保存页面的状态信息,如页面当前页码

 

1.Request对象:

      Cookies:获取客户端发送的cookie的集合

      Form:获取窗体变量集合

      QueryString:获取HTTP查询字符串变量集合

   读取单值Cookie:

  1. <%=Request.Cookies["myCookie“]%><br>
  2. <%=Request.Cookies["myCookie“]["Name“]%><br>
复制代码

 简单.NET程序示例 1:

Default.aspx:

  1. <body>
  2. <form id="form1" runat="server" >
  3. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  4. <asp:Button ID="Button1" runat="server" PostBackUrl="~/Receive.aspx" Text="提交" />
  5. </form>
  6. </body>
复制代码

Receive.aspx:

  1. <body>
  2. <form id="form1" runat="server">
  3. <asp:Label ID="Label1" runat="server" Text="传过来的值="></asp:Label>
  4. <%=Request.Form["TextBox1"]%>
  5. </form>
  6. </body>
复制代码

对比以下代码(实现的功能都是一样的):

Default.aspx:

  1. <body>
  2. <form id="form1" runat="server" method="get">
  3. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  4. <asp:Button ID="Button1" runat="server" PostBackUrl="~/Receive.aspx" Text="提交" />
  5. </form>
  6. </body>
复制代码

Receive.aspx:

  1. <body>
  2. <form id="form1" runat="server">
  3. <asp:Label ID="Label1" runat="server" Text="传过来的值="></asp:Label>
  4. <%=Request.QueryString["TextBox1"]%>
  5. </form>
  6. </body>
复制代码

=》

例1.1(对比以上例子,主要看是如何传值的)(初学时可忽略下面这个例子)

Default.aspx:

  1. <body>
  2. <form id="form2" runat="server" >
  3. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  4. <asp:Button ID="Button1" runat="server" OnClick ="Button1_Click" Text="提交" />
  5. </form>
  6. </body>
复制代码

Default.aspx.cs:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. Response.Redirect("~/Receive.aspx?param="+TextBox1 .Text );
  4. }
复制代码

Receive.aspx:

  1. <body>
  2. <form id="form1" runat="server">
  3. <asp:Label ID="Label1" runat="server" Text="传过来的值="></asp:Label>
  4. <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  5. </form>
  6. </body>
复制代码

Receive.aspx.cs:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. TextBox2.Text = Request.Params["param"];
  4. }
复制代码

 =》

示例2 :

Default.aspx

  1. <body>
  2. <form id="form1" runat="server" method="post">
  3. <font size="6">登录信息</font><br/>
  4. 用户名<asp:TextBox ID="s_name" runat="server"></asp:TextBox> <br/>
  5. 密 码<asp:TextBox ID="s_password" runat="server" TextMode="Password"/> <br />
  6. <asp:Button ID="Button1" runat="server" Text="登陆" PostBackUrl="~/Receive.aspx" />
  7. </form>
  8. </body>
复制代码

 

Receive.aspx

  1. <body>
  2. <form id="form1" runat="server">
  3. <% string strname,strpassword;
  4. strname=Request.Form["s_name"];
  5. strpassword=Request.Form["s_password"];
  6. %>
  7. 返回用户注册信息:<br />
  8. 用户名:<%=strname%><br/>
  9. 密 码:<%=strpassword%><br/>
  10. </form>
  11. </body>
复制代码

=>

2.Response对象:

   Redirect:将客户端重定向到新的URL

   Write:将信息写入HTTP内容输出流

   End:将当前所有缓冲的输出发送到客户端,停止该页的执行

示例2:

Default.aspx

  1. <body>
  2. <form id="form1" runat="server">
  3. <table>
  4. <tr>
  5. <asp:Button ID="NoParamsBtn" runat="server" Text="跳转到Dir.aspx(没有参数)" OnClick="NoParamsBtn_Click"/><br />
  6. <asp:Label ID="Label1" runat="server" Text="参数:"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
  7. <asp:Button ID="HaveParamsBtn" runat="server" Text="跳转到Dir.aspx(有参数)" OnClick="HaveParamsBtn_Click" />
  8. </tr>
  9. </table>
  10. </form>
  11. </body>
复制代码

Default.aspx.cs

  1. protected void NoParamsBtn_Click(object sender, EventArgs e)
  2. {
  3. Response.Redirect("~/Dir.aspx");
  4. }
  5. protected void HaveParamsBtn_Click(object sender, EventArgs e)
  6. {
  7. Response.Redirect("~/Dir.aspx?param="+Server .UrlEncode (TextBox1 .Text ));
  8. }
复制代码

 Dir.aspx

  1. <body>
  2. <form id="form1" runat="server">
  3. <div>
  4. <asp:Label ID="Label1" runat="server" Text="参数:"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  5. </div>
  6. </form>
  7. </body>
复制代码

 Dir.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if(Request .Params ["param"]!=null)
  4. {
  5. TextBox1.Text = Request.Params["param"];
  6. }else
  7. {
  8. TextBox1.Text = "没有收到数据";
  9. }
  10. }
复制代码

 

3.Server对象

属性名称

说    明

MachineName

获取服务器的计算机名称

ScriptTimeout

获取和设置请求超时

方法名称

说    明

Execute

执行另一个aspx页,执行完该页后再返回本页继续执行

Transfer

终止当前页的执行,并为当前请求开始执行新页

HtmlEncode

对要在浏览器中显示的字符串进行HTML编码并返回已编码的字符串

HtmlDecode

对HTML编码的字符串进行解码,并返回已解码的字符串

MapPath

返回与Web服务器上的指定虚拟路径相对应的物理文件路径

UrlEncode

对URL字符串进行编码,以便通过URL从Web服务器到客户端进行可靠的 HTTP 传输

UrlDecode

对已被编码的URL字符串进行解码,并返回已解码的字符串

UrlPathEncode

对URL字符串的路径部分进行URL编码,并返回已编码的字符串

 示例3:HtmlEncode,HtmlDecode,MapPath

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. Response.Write(Server.MapPath("WebForm1.aspx"));
  4. string str = "<h1>你好</h1>";
  5. Response.Write(str);
  6. string strHtmlEncode = Server.HtmlEncode(str);
  7. Response.Write(strHtmlEncode + "<br>");
  8. string strHtmlDecode = Server.HtmlDecode(strHtmlEncode);
  9. Response.Write(strHtmlDecode + "<br>");
  10. Response.Write(Request.PhysicalApplicationPath);
  11. }
复制代码

4.Session对象

      Session对象代表服务器与客户端所建立的会话.

      从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话.

      为什么需要Session?当一个客户访问一个服务器时,可能会在这个服务器的多个页面之间反复跳转,服务器应当通过某种办法来识别这是来自同一个客户的不同请求,这种办法通常就是使用session对象。

     session对象可以实现在一个会话期间的多页面间的数据共享/传递。

     可以使用Session 对象存储用户登录网站时候的信息。当用户在页面之间跳转时,存储在Session对象中的变量不会被清除。

     系统为每个访问者都设立一个独立的Session对象,用以存储Session变量,并且各个访问者的Session对象互不干扰。

     Session与Cookie是紧密相关的。 Session的使用要求用户浏览器必须支持Cookie。

     Session主要属性:

          Count:获取会话状态集合中的项数

          Keys:获取存储在会话中的所有值的键的集合

          Timeout:一个Session对象被创建以后,其生存期,默认的时间为20分钟。也可对其修改,如Session.Timeout=60;

示例4:

Session练习1:从初始页面传2个整数到Receive.aspx页面进行相加。

WebForm1.aspx

  1. <body>
  2. <form id="form1" runat="server">
  3. <div>
  4. <asp:Button ID="Button1" runat="server" Text="相加" OnClick="Button1_Click" />
  5. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  6. <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  7. </div>
  8. </form>
  9. </body>
复制代码

WebForm1.aspx.cs

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. Session["a"] = TextBox1.Text;
  4. Session["b"] = TextBox2.Text;
  5. Response.Redirect("Receive.aspx");
  6. }
复制代码

 Receive.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. int a = int.Parse(Session["a"].ToString());
  4. int b = int.Parse(Session["b"].ToString());
  5. Response.Write(a + b);
  6. }
复制代码

 =>

session练习2:

Default.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. Session["Count"] = 0;
  4. Session["Name"] = "tom";
  5. Server.Transfer("WebForm1.aspx");//跳转后不再回来。excute跳转后会回来
  6. }
复制代码

WebForm1.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. for (int i = 0; i < Session.Count; i++)
  4. Response.Write(Session.Keys[i] + " :" + Session[i].ToString() + "<br>");
  5. }
复制代码

Session练习3:购物车

     见链接:https://blog.csdn.net/qq_40323256/article/details/83934072

5.Application对象

      Application对象是一个比较重要的对象,对Application对象的理解关键是:网站所有的用户公用一个对象,当网站服务器开启的时候,Application就被创建,在网站运行期间持久保存。利用Application这一特性,可以方便地创建聊天室和网站计数器等常用站点应用程序。

     Application对象没有自己的属性,用户可以根据自己的需要定义属性,来保存一些信息,执行完以后,该对象就被保存在服务器上,执行程序时依然可以输出原先保存的值。

  1. <%Application["Greeting“]="你好!"%>
  2. <%=Application["Greeting“]%>
复制代码

     Application提供两个方法:

(1) Lock()——锁定Application对象,防止被其他用户访问。

(2) Unlock()——解除锁定,可以接受用户的访问。

    Application提供两个事件:

(1) Application_Start()——Application开始创建的时候,调用该事件。

(2) Application_End()——Application被清除的时候,调用该事件。

例子1

Default.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (Application["Count"] == null)
  4. Application["Count"] = 1;
  5. else
  6. {
  7. int n = (int)Application["Count"];
  8. n++;
  9. Application["Count"] = n;
  10. }
  11. Response.Write("页面访问量" + Application["Count"]);
  12. }
复制代码

6.ViewState对象-暂不介绍

 

综合示例:聊天室

     见链接:https://blog.csdn.net/qq_40323256/article/details/83934458

 

 

 

 


来源:https://blog.csdn.net/qq_40323256/article/details/83958028
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 11:28 , Processed in 0.429860 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表