在web程序中,经常会使用在一个网页使用其他网页提交的数据信息,这里可以使用Request内置对象来完成,来获取用户提交的信息,根据客户端提交数据方式的不同,Request对象分别使用Form和QueryString集合属性来获取数据。下面是两种集合获取方式的不同点:通过Form获取数据时在form属性中简单的添加action=“跳转的网页地址”,<form. ID="id号 " runat=“sever” action=“要跳转的网页URL”> </form>,该传参方式是隐式的,不容易暴露;另一种方式是通过get方法提交表单数据,或页面导向通过“URL?Parameter=Value”格式传递参数值时,即使用Request对象QueryString属性获取传递过来的信息,这个传参方式一般不建议使用,因在URL之后,所以容易在浏览器暴露参数,容易遭受黑客的攻击,再者是URL的字节数有限,即传递的参数有限,所以不建议使用QueryString。
这里需要建立两个web程序页,第一个Default.aspx页中运用各种控件,第二个是在get-form.aspx的后台代码中在页面加载的时候获得Default.aspx页中,用户提交的信息数据。
Default.aspx的html代码:
01 | <PREclass=brush:csharp><%@ Page Language="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="form._Default"%> |
10 | <form. id="Form1"action="get_form.aspx"method="post"> |
11 | <div style="text-align:center"> |
13 | <hr style="size:50%"/> |
15 | <div style="text-align:left"> |
16 | 用户名:<input name="user_name"type="text"/><br /> |
18 | <input name="Password1"type="password"/><br /> |
19 | 确认密码:<input name="Password2"type="password"/><br /> |
20 | 性别:<input name="女"type="radio"value="女" />女<input id="Radio1"type="radio"value="男"name="sex"/>男<br /> |
21 | 上传照片:<input id="File1"type="file" name="picture"/><br /> |
25 | <input type="submit"value="提交"/> |
26 | <input type="reset"value="重置"/></div> |
32 | <P>get-form.aspx c#代码:</P> |
33 | <PREclass=brush:csharp>usingSystem; |
34 | usingSystem.Collections; |
35 | usingSystem.Configuration; |
39 | usingSystem.Web.Security; |
41 | usingSystem.Web.UI.HtmlControls; |
42 | usingSystem.Web.UI.WebControls; |
43 | usingSystem.Web.UI.WebControls.WebParts; |
48 | publicpartialclassget_form. System.Web.UI.Page |
50 | protectedvoidPage_Load(objectsender, EventArgs e) |
52 | Response.Write("利用 Response对象获取客户端数据"); |
53 | Response.Write("<hr/>"); |
54 | string[] names = Request.Form.AllKeys; |
55 | for(inti = 0; i < names.Length; i++) |
57 | string[] values = Request.Form.GetValues(i); |
58 | for(intj = 0; j < values.Length; j++) |
59 | Response.Write(names[i]+"="+values[j]+"<br/>"); |
填完信息提交后:
用form属性将用户的信息数据提交给另一个网页,可以很好的避免一些问题,并且可以再另外的网页中通过循环把信息输出,不涉及控件中的id号,感觉比较好用。
所有评论(0)