ASP.NET對象

    技术2022-05-11  30

    ASP.NET 对象 1.  Page对象 名称 功能说明 IsPostBack属性 获取一个值,该值表示该页是否正为响应的客户端回发而加载 IsValid属性 获取一个值,该值表示一个页面是否通过验证 EnableViewState属性 获取或设置一个值,该值指示当前页请求结束时是否保持其视图状态 Validators属性 获取请求的页上包含的全部验证空间的集合 DataBind方法 将数据源邦定到被调用的服务器控件及其所有子控件 FindControl方法 在页面中搜索制定的服务器控件 RegisterClientScriptBlock方法 向页面发出客户端脚本块 Valiadte方法 指示页面中所有验证控件进行验证 Init事件 当服务器空间初始化时发生 Load事件 当服务器控件加载到Page对象中时发生 Unload事件 当服务器控件从内存中卸载时发生 1.1   IsPostBack属性 protected void Page_Load(object sender, EventArgs e)     {         if (!this.IsPostBack)         {             // 如果页面为首次加载,则进行一些操作         } } 1.2   IsValib属性 protected void Button1_Click(object sender, EventArgs e)     {         if (Page.IsValid == true)         {             Response.Write("<script>alert(' 您的输入信息通过验证!')</script>" );         }         else         {             Response.Write("<script>alert(' 您的输入信息验证失败!')</script>" );         } } 1.3   RegisterClientScriptBlock方法 RegisterClientScriptBlock("RegisterClientScriptBlock","<script>var RegisterClientScriptBlock;</script>"); 2.  Response对象 名称 功能说明 BufferOutput属性 获取或设置一个值,该值指示是否缓冲输出 ContentType属性 获取或设置输出流的HTTP MIME类型 Cookies属性 获取响应Cookies集合 Expires属性 获取或设置该页在浏览器上缓存过期之前的分钟数 IsClientConnected属性 获取一个值,该值指示客户发送当前所有缓冲的输出 Clear方法 清除缓冲区中的所有内容输出 Flush方法 刷新缓冲区,向客户端发送当前所有缓冲区的输出 End方法 将当前所有的缓冲的输出发送到客户端,停止该页面的执行 Redirect方法 将客户端重丁香到新的URL Write方法 将信息写入HTTP输出内容流 2.1 Write方法 Page.Response.Write(" 现在时间是:" +DateTime.Now.ToString()); <%         Response.Write(" 我的地盘" );     %>     <%=" 我的地盘" %> 2.2 End方法     Response.Write(@"http://blog.csdn.net/wkjs");     Response.End(); Response.Write(" 我的地盘" ); “我的地盘”就不会输出。 2.3 Redirect方法 Response.Redirect(@"http://blog.csdn.net/wkjs"); 2.4 ContentType属性 // 默认值为text/html Response.ContentType = "image/gif"; 3.  Request对象 名称 功能说明 Browser属性 获取有关正在请求的客户端的浏览器功能的信息 Cookies属性 获取客户端发送的Cookies的集合 Files属性 获取客户端上传的文件的集合 Form属性 获取表单变量的集合 QueryString属性 获取HTTP查询字符串变量集合 ServerVariables属性 获取Web服务器变量的集合 UserHostAddress属性 获取远程客户端的主机IP地址 SaveAs方法 将HTTP请求保存到磁盘 3.1 Form数据集合 <!--form.htm--> < html xmlns="http://www.w3.org/1999/xhtml" > < head >     <title> 使用POST传送数据</title> </ head > < body >     <form method="post" action="Default2.aspx">         清输入您的大名:<input type="text" name="mingzi" /><br />         <input type="submit" value=" 看看" />     </form> </ body > </ html > <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         string strmessage = " 您的大名是:" ;         strmessage += Request.Form["mingzi"];         Response.Write(strmessage);     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title> 使用POST传送数据</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 3.2 QueryString数据集合 <!--form.htm--> < html xmlns="http://www.w3.org/1999/xhtml" > < head >     <title> 使用GET传送数据</title> </ head > < body >     <form method="get" action="Default2.aspx">         清输入您的大名:<input type="text" name="mingzi" /><br />         <input type="submit" value=" 看看" />     </form> </ body > </ html > <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         string strmessage = " 您的大名是:" ;         //strmessage += Request.Form["mingzi"];         strmessage += Request.QueryString["mingzi"];         Response.Write(strmessage);     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title> 使用GET传送数据</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 3.3 ServerVariables数据集合 环境变量名 说明 CONTENT_LENGTH 发送到客户端的文件长度 CONTENT_TYPE 发送到客户端的文件类型 QUERY_STRING URL中查询字符串 LOCAL_ADDR 服务器IP地址 REMOVE_ADDR 客户端IP地址 REMOVE_HOST 客户端主机名 REMOVE_PORT 客户端端口号 SCRIPT_NAME 当前文件的程序名(包含虚拟路径) SERVER_NAME 服务器名称 SERVER_PORT 服务器接受请求的端口号 PATH_INFO 当前文件的虚拟路径 HTTP_USER_AGENT 客户端浏览器的信息 Response.Write(Request.ServerVariables["SERVER_NAME"].ToString()); 3.4 Browser属性 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         HttpBrowserCapabilities bc = Request.Browser;         Response.Write("<p> 您所用的浏览器信息如下:</ p><br />" );         Response.Write(" 名称及版本:" +bc.Type+"<br />");         Response.Write(" 类型:" + bc.Browser + "<br />");         Response.Write(" 版本号:" + bc.Version + "<br />");         Response.Write(" 主板本号:" + bc.MajorVersion + "<br />");         Response.Write(" 次版本号:" + bc.MinorVersion + "<br />");         Response.Write(" 平台:" + bc.Platform + "<br />");         Response.Write(" 是否为测试版:" + bc.Beta + "<br />");         Response.Write(" 是否为 美国在线 浏览器:" + bc.AOL + "<br />");         Response.Write(" 是否为基于Win16计算机:" + bc.Win16 + "<br />");         Response.Write(" 是否为基于Win32计算机:" + bc.Win32 + "<br />");         Response.Write(" 是否支持HTML框架:" + bc.Frames + "<br />");         Response.Write(" 是否支持HTML表格:" + bc.Tables + "<br />");         Response.Write(" 是否支持Cookie:" + bc.Cookies + "<br />");         Response.Write(" 是否支持VBScript:" + bc.VBScript + "<br />");         Response.Write(" 是否支持JavaScript:" + bc.JavaScript + "<br />");         Response.Write(" 是否支持Java Applets:" + bc.JavaApplets + "<br />");         Response.Write(" 是否支持ActiveX:" + bc.ActiveXControls + "<br />");     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 4.  Server对象 名称 功能说明 MachineName属性 获取服务器的计算机名称 ScriptTimeout属性 获取和设置文件最长执行时间(一秒计) CreatObject方法 创建COM对象的一个服务器实例 Execute方法 使用另一页执行当前请求 HtmlEncode方法 对要在浏览器中显示的字符串进行编码 HemlDecode方法 对已被编码以清除无效HTML字符的字符串进行解码 UrlEncode方法 对指定字符串以URL格式进行编码 UrlDecode方法 对URL格式字符串进行解码 MapPath方法 将虚拟路径转换为物理路径 Transfer方法 终止当前页面的执行,并开始执行新的请求页 4.1 ScriptTimeout属性            用来查看或设置请求超时时间,默认为90秒,如果一个文件执行时间超过此属性设置的时间,则自动停止执行,这样可以防止某些可能进入死循环的程序导致服务器资源的大量消耗。          如果页面需要较长的运行时间,比如一个大的文件要上传。 Server.ScriptTimeout = 200; 4.2 HtmlEncode方法 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         string str1, str2;         str1 = "<h2> 大家好</h2>" ;         str2 = Server.HtmlEncode(str1);         Response.Write(str1);         Response.Write(str2);     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 4.3 UrlEncode方法 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         string url;         url = "http://blog.csdn.net/wkjs/default.aspx?ID=";         url += Server.UrlEncode(" 王康" );         url += "&b=" + Server.UrlEncode("ab cd e");         Response.Write(url);     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 4.4 MapPath方法 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         Response.Write(" 当前目录物理路径:" + Server.MapPath(".")+"<br />");         Response.Write(" 上一级目录物理路径:" + Server.MapPath("..") + "<br>");         Response.Write(" 网站根物理路径:" + Server.MapPath("/") + "<br>");     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 4.5 Execute方法 <! Default2.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         // 用来停止当前网页,转到新的网页执行,并执行完毕后返回原网页继续执行         Server.Execute("Default.aspx");     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 4.6 Transfer方法 <! Default2.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         // 用来停止当前网页,转到新的网页执行,并执行完毕后不返回原网页继续执行         Server.Transfer("Default.aspx");         Response.Write(" 王康" );     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 5.  Application对象 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         // 利用Application存贮信息         Application.Add("var1", @"http://blog.csdn.net/wkjs");         Application["var2"] = @" 我的地盘" ;         Application.Lock();         Application["age"] = 120;         Application.UnLock();         // 使用Application中信息         object obj1 = Application.Contents[0];         object obj2 = Application[0];         object obj3 = Application.Contents["var2"];         object obj4 = Application["var2"];         Response.Write(obj1 + "<br />");         Response.Write(obj2 + "<br />");         Response.Write(obj3 + "<br />");         Response.Write(obj4 + "<br />");         // 删除Application中的信息         Application.Remove("var1");         Application.RemoveAll();         Application.RemoveAt(0);         Application.Clear();     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 6.  Session对象 6.1 使用Session <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         Session["name"] = " 王康" ;// 存储         Response.Write(Session["name"] + "<br />");// 第一次输出         Session.Abandon();// 页面执行完结束当前会话         Response.Write(Session["name"] + "<br />");// 第二次输出     } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 6.2 配置Session < configuration >     < appSettings />     < system.web >       < sessionState mode = "InProc"                     cookieless = "false"                     timeout = "20">         <!--             timeout 属性是可选的,默认为20             mode 属性为必须的             1.Off :指示禁止会话状态      2.InProc :指示使用进程内会话状态模式,在服务器本地存储状态数据。使用进程内会话状                  态模式时,如果aspnet_wp.exe或应用程序域重新启动,则会话状态数据将丢失,这种模式的优点是性能较高。      3. 指示使用状态服务器模式,在运行asp.net状态服务器的机器上存储会话状态数据。使用状态服务器模式时,asp.net辅助进程直接与状态服务器对话,当每个Web请求结束时,在客户的Session集合中序列化并保存所有队像。当客户重新访问该服务器时,相关的asp.net辅助进程从状态服务器中以二进制流的形式,另外必须设置<sessionState>标记的stateConnectionString属性,用于指定远程存储会话状态的服务器名称和端口。            4. 指示使用SQL模式,在SQL Server上存储会话状态数据。         -->               </ sessionState >     </ system.web > </ configuration > 7.  Cookies对象 7.1 设置Cookie 名称 说明 Name 获取或设置Cookie的名称 Expires 获取或设置Cookie的过期日期和时间 Domain 获取或设置Cookie关联的域 HakKeys 获取一个值,通过该值指示Cookie是否具有子健 Path 获取或设置要与Cookie一起传输的虚拟路径 Secure 获取或设置一个值,通过该值指示是否安全传输Cookie Value 获取或设置单个Cookie值 Values 获取再单个Cookie对象中包含的键值的集合 <!--Default.aspx--> <% @ Page Language="C#" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < script runat="server">       protected void Page_Load(object sender, EventArgs e)     {         // 设置一个名字为username的Cookie,有效期为3天         Response.Cookies["username"].Value = 23.ToString();         Response.Cookies["username"].Expires = DateTime.Now.AddDays(3);         // 也可以先创建一个Cookie,再添加进Response.Cookie集合         HttpCookie mycookie = new HttpCookie("username");// 生成一个名字为username的Cookie对象         mycookie.Value = 23.ToString();// 设置Cookie值         mycookie.Expires = DateTime.Now.AddDays(3);// 设置过期日期和时间         Response.Cookies.Add(mycookie);// 把Cookie对象添加到Response.Cookie集合         // 添加多个值         Response.Cookies["user"]["username"] = " 王康" ;         Response.Cookies["user"]["userage"] = 23.ToString();         Response.Cookies["user"].Expires = DateTime.Now.AddDays(3);         // 同上         HttpCookie mycookie = new HttpCookie("user");         mycookie.Value["username"] = " 王康" ;         mycookie.Value["userage"] = 23.ToString();         mycookie.Expires = DateTime.Now.AddDays(3);         Response.Cookies.Add(mycookie);             } </ script >   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title>Browser 属性</title> </ head > < body >     <form id="form1" runat="server">     </form> </ body > </ html > 7.2 读取Cookie     if (Request.Cookies["username"]!=null)         {             this.Label1.Text=Request.Cookies["username"].Value;         }         if (Request.Cookies["username"] != null)         {             HttpCookie mycookie = new HttpCookie("username");             this.Label1.Text = mycookie.Value;         }         if (Request.Cookies["user"] != null)         {             //this.Label1.Text = Request.Cookies["username"].Values["username"];             this.Label1.Text = Request.Cookies["username"]["username"];             this.Label1.Text += Request.Cookies["username"]["userage"];         } 8.  对象应用实例 8.1 聊天室程序 protected void Button1_Click(object sender, EventArgs e)     {         //defalut.aspx.cs         string message;         message = "<font color='red'>" + this.TextBox1.Text + "</font> 说:" ;         message += this.TextBox2.Text;         message+="(<i>"+DateTime.Now.ToString()+"</i>)";         message+="<br />";         Application.Lock();         Application["chatcontent"]=(string)Application["chatcontent"]+message;         Application.UnLock();         this.TextBox2.Text=""; } <!--Clobal.asax--> <% @ Application Language="C#" %>   < script runat="server">       void Application_Start(object sender, EventArgs e)     {         // 在应用程序启动时运行的代码         Application["chatcontent"] = "<h2> 欢迎你到我的地盘</h2>" ;       }         void Application_End(object sender, EventArgs e)     {         //  在应用程序关闭时运行的代码       }             void Application_Error(object sender, EventArgs e)     {         // 在出现未处理的错误时运行的代码       }       void Session_Start(object sender, EventArgs e)     {         // 在新会话启动时运行的代码       }       void Session_End(object sender, EventArgs e)     {         // 在会话结束时运行的代码。         // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为         // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer         // 或 SQLServer,则不会引发该事件。       }        </ script > <!--default2.aspx--> <% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>   <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title> 无标题页</title>     <meta http-equiv="refresh" content="4" /> </ head > < body >     <form id="form1" runat="server">     <div>         <asp:Label ID="Label1" runat="server" Height="32px" Text="Label" Width="780px"></asp:Label></div>     </form> </ body > </ html > protected void Page_Load(object sender, EventArgs e)     {         //default.aspx.cs         this.Label1.Text = (string)Application["chatcontent"];     } 8.2 用户权限检察 <!--login.aspx--> < html xmlns="http://www.w3.org/1999/xhtml" > < head runat="server">     <title> 无标题页</title> </ head > < body >     <form id="form1" runat="server">     <div>         <div style="">             <table border="0" cellpadding="0" cellspacing="0" style="width: 200pt">                 <tr>                     <td align="center" colspan="2" valign="top">                         管理员登陆</td>                 </tr>                 <tr>                     <td align="center" style="width: 88px;" valign="top">                         姓名:</td>                     <td align="center" style="" valign="top">                         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>                 </tr>                 <tr>                     <td align="center" style="width: 88px;" valign="top">                         密码:</td>                     <td align="center" style="" valign="top">                         <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>                 </tr>                 <tr>                     <td align="center" colspan="2" valign="top">                         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text=" 登录" /></td>                 </tr>             </table>         </div>         </div>     </form> </ body > </ html > protected void Button1_Click(object sender, EventArgs e)     {         //login.aspx.cs         string strno = "<Script>alert(' 用户名或密码错误,请核实')</Script>" ;         if (this.TextBox1.Text == " 王康" && this.TextBox2.Text == "123456")         {             Session["username"] = this.TextBox1.Text;             Session["userpass"] = this.TextBox2.Text;             Response.Redirect("admin.aspx");         }         else         {             Page.RegisterClientScriptBlock("lgiinno", strno);         } } protected void Page_Load(object sender, EventArgs e)     {         //admin.aspx.cs         if (Session["username"] != null && Session["userpass"] != null)         {             string username = Session["username"].ToString();             string userpass = Session["userpass"].ToString();             if (username != " 王康" || userpass != "123456")             {                 Response.Redirect("login.aspx", true);             }         }         else         {             Response.Redirect("login.aspx", true);         } } 8.3 访问计数器 protected void Page_Load(object sender, EventArgs e)     {         int ivs;         if (Request.Cookies["vnumber"] == null)         {             ivs = 1;             Response.Cookies["vnumber"].Value = ivs.ToString();             Response.Cookies["vnumber"].Expires = DateTime.Now.AddYears(2);             Response.Cookies["flag"].Value = "ok";             Response.Cookies["flag"].Expires = DateTime.Now.AddMinutes(10);         }         else         {             if (Request.Cookies["flag"] == null)             {                 ivs = int.Parse(Request.Cookies["vnumber"].Value) + 1;                 Response.Cookies["vnumber"].Value= ivs.ToString();                 Response.Cookies["vnumber"].Expires = DateTime.Now.AddYears(2);                 Response.Cookies["flag"].Value = "ok";                 Response.Cookies["flag"].Expires = DateTime.Now.AddMinutes(10);             }             else             {                 ivs = int.Parse(Request.Cookies["vnumber"].Value);             }         }         this.Label1.Text = "<font color='red' size='6'> 你是第" + ivs.ToString() + " 次访问本页面</font>" ;   

    最新回复(0)