ASP.NET對象

来源:互联网 发布:数据库mysql优化 编辑:程序博客网 时间:2024/05/19 23:26
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>
      <sessionStatemode="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>";
  
原创粉丝点击