今天带来的是Request对象,为了这个对象我可纠结了好一阵子,还把一位高手弄无语了,在此对那位高手说一声"抱歉!",本人的思维方式总有点奇怪,让人无法理解。。。
*** Request对象 ***
语法:Request.Form[数据名称],Request.QueryString[数据名称]
Request.UserAgent,Request.UserHostAddress,Request.PhysicalApplicationPath
描述:服务端常常使用Request对象从客户端得到数据,它有两个常用方法,Form[]方法和QueryString[]方法前者用来获取客户以Post方式提交的数据,后者获取以Get方式提交的数据。它还有一些有用的属性,可以获取客户端的一些信息,如客户端版本(尽管不懂其输出的意义),客户端IP地址,当前网站的物理路径。
*** Request对象 ***
4-08.aspx
<form id="form1" runat="server" method ="post" > <div> <asp:Label ID="Label1" runat="server" Text="Label">用户:</asp:Label> <input id="Text1" type="text" name ="user" /><br /> <asp:Label ID="Label2" runat="server" Text="Label">密码:</asp:Label> <input id="Text2" type="text" name ="password" /><br /> <asp:Button ID="btnSubmit" runat="server" Text="提交" onclick="btnSubmit_Click" /> </div> </form>
4-08.aspx.cs
//定义常量,防止输入错误 public const string USER="user"; public const string PASSWORD = "password"; protected void btnSubmit_Click(object sender, EventArgs e) { //表单取值 "user" "password" string strUser = Request.Form[USER]; string strPwd = Request.Form[PASSWORD]; //输出表单的值 Response.Write("用户名:"); Response.Write(strUser ); Response.Write("<br>"); Response.Write("密码:"); Response.Write(strPwd ); }
好,我来说一下运行机制。4-08.aspx页面有两个HTML的Input控件(名称分别为"user"和"password")和三个ASP的标准控件(俩Label和一Button)用户在表单里输入用户名和密码,提交。触发btnSubmit_Click事件,因为数据是以Post方式传递的,所以调用Request对象的Form[]方法获取"user"和"password"的数据,之所以在Form[]方法的参数里使用常量是怕发生手误这种低级错误。获取的数据放入Sring类型的变量里,再通过Response对象的Write()方法输出,就是这么简单~如图所示: