27;;Response对象简介
//Response对象简介:动态响应客服端发送的请求,并发给用户的信息,将动态生成响应,是HttpResponse的一个实例,常用方法如下:
//write():此方法将数据输出到客户端浏览器;
//redirect(“url”):重新将网页转向另一个网址;
//End():用来停止ASP.NET网页,并将结果返回给浏览器。它会告诉浏览器数据已全部下载完毕。同时IIS等服务器不在解读分析后续的HTML指示与ASP.NET程序,使得整个ASP.NET页面得以结束,故而可以节约资源;
// 两个属性:
//BufferoutPut属性:可以判断是否将网页内容保存在缓冲区
//IsClientConnected属性:判断客服端是否与服务器连接。
protected void Page_Load(object sender, EventArgs e)
{
//write
Response.Write("Write方法的使用"+"<br/>");//可以输出HTML代码,甚至JavaScript代码
Button1.Attributes.Add("onclick", "this.form.targe=_'newName'");//本代码的作用是在执行如下Button11_click事件时,同时执行this.from.target=_'newname'
}
//Redirect
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("http://www.snnu.edu.cn");//Redirect方法将页面转向该URL地址可与Button1.Attributes.Add("onclick", "this.form.targe=_'newName'");”同时作用
}
///Write事件调用JavaScript代码,双引号内
public partial class response : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//不支持能用Messagebox
//Write事件调用JavaScript代码,双引号内
if (TextBox1.Text == "")
{
Response.Write("<script>alert('输入不能为空')</script>");
TextBox1.Focus();//输入焦点转到文本控件上
}
}
}
28;;Request对象:
//Request对象:功能是从浏览器中得到数据,它有三种取得数据的方法:Request.Form() Request.QueryString() Request()其中第三种是前两种的缩写,可以取代前两种方法:前两种主要是对表单提交时,用于获取两种不同的提交方法,分别是Post和Get
//常用的属性有:
//UserAgent:可以返回客户端浏览器的版本信息
//UserHostAddress:可以返回远程服务器的主机IP地址
//UserHostName:可以返回远程主机的DNS名称
//PhysicalApplicationPath:可以返回目前请求网页在服务器端的物理路径
//如果要从浏览器中的地址栏中获取数据,可以利用Request()方法,它可以读取其他页面提交来的数据,这些数据提交的方式有两种:Form表单;超级链接后面的参数提交,即URL
//Form():可以读取表单提交的信息
//QueryString():用来查询请求值
//Cookie:其实就是一个标签,当访问一个需要唯一身份标识的网站时,它就会在硬盘上留下一个标记,下次访问时,站点的页面会查找是否存在这个标识
<html>
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
客户端信息:<%=Request.UserAgent%><br/>
客户端IP地址<%=Request.UserHostAddress%><br/>
客户端机器的DNS名称<%=Request.UserHostName %><br/>
当前文件服务端的物理地址<%=Request.PhysicalApplicationPath%><br/></div>
</form>
</body>
</html>
//结果:
客户端信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 598; TencentTraveler 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; TheWorld)
客户端IP地址127.0.0.1
客户端机器的DNS名称127.0.0.1
当前文件服务端的物理地址D:/Backup/我的文档/Visual Studio 2008/WebSite/C61/
29;; 利用Request.QueryString["ID"]获取URL传值信息
1;;;页面1设计部分
<body>
<form id="form1" runat="server">
<div>
<a href=Default.aspx?ID=我是URL数据>跳转</a>
</div>
</form>
</body>
2,,,Defult接受页面代码部分
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string str = Request.QueryString["ID"].ToString();//QueryString一般获得为URL传值,注意这里用方括号及双引号
TextBox1.Text = str;
}
}
如果传递多个参数,则使用如下代码
<a href=Default.aspx?ID=我是URL数据&ID2=我是第一个参数>跳转</a>
30;;利用Request.Form[""]获取表单传值信息 用的是name内容
例如:HTML表单页面
<html>
<body>
<form action=Default.aspx method=post>
标题:<input id="Text1" name="title"type="text" /><br />
内容:<input id="Text2" name="context"type="text" /><br/>
<input id="Submit1" type="submit" value="submit" />
</form>
</body>
</html>
接收方Default.aspx页面后台代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string post1 = Request.Form["title"].ToString();
string post2 = Request.Form["context"].ToString();
TextBox1.Text = post1;
TextBox2.Text = post2;
}
}
31;;Application对象:是HttpApplicationState类的一个实例,可以生成一个所有Web都可以存取的变量。(全局变量:所有页面和代码都可以访问的变量)
使用全局应用程序类:一个网站只能有一个,扩展明为axas
1);;;Global.asax页面代码:
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
Application["counter"] = 0;
}
void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
Application.Lock();//锁定回话
Application["counter"] = (int)Application["counter"] + 1;//会话数+1
Application.UnLock();//解锁
}
void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["counter"] = (int)Application["counter"] - 1;//会话数减少1
Application.UnLock();
}
</script>
2);;;执行页面代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Label1.Text + Application["counter"].ToString().Trim();
}
}
在一定时间的间隔
32;;Session对象:用来保存用户和服务器的临时会话,Session中的数据保存在服务器端其默认生命周期是20分钟,Session的特点:
其数据保存在服务器端;可以保存任意型数据
例如:1);;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Session["userName"] = TextBox1.Text.Trim();
Response.Redirect("Default2.aspx");
}
}
2);;接受Session值的页面
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = Session["userName"].ToString();
}
}