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="text-align: center">
<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; text-align: right" valign="top">
姓名:</td>
<td align="center" style="text-align: left" valign="top">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td align="center" style="width: 88px; text-align: right" valign="top">
密码:</td>
<td align="center" style="text-align: left" 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>";
}