zoukankan      html  css  js  c++  java
  • c# asp.net 获取客户端表单的数据(15)

    在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代码:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="form._Default" %>
    
    <!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>
    </head>
    <body>
        <form id="Form1" action="get_form.aspx" method="post">
        <div style="text-align:center">
        填写用户信息
        <hr  style="size:50%"/>
        </div>
        <div style="text-align:left">
        用户名:<input name="user_name" type="text" /><br />
        密码:  
            <input name="Password1" type="password" /><br />
        确认密码:<input name="Password2" type="password" /><br />
            性别:<input name="女" type="radio" value="女"  />女<input id="Radio1" type="radio" value="男" name="sex" />男<br />
            上传照片:<input id="File1" type="file"  name="picture"/><br />
            
            <br />
             
            <input  type="submit" value="提交" />       
            <input type="reset" value="重置" /></div>
        </form>
    </body>
    </html>
    

    get-form.aspx c#代码:

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    
    namespace form
    {
        public partial class get_form : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Response.Write("利用 Response对象获取客户端数据");
                Response.Write("<hr/>");
                string[] names = Request.Form.AllKeys;//定义name保存表单中的所有键即元素名称
                for (int i = 0; i < names.Length; i++)
                {
                    string[] values = Request.Form.GetValues(i);//定义values保存表单中所有键的键值
                    for (int j = 0; j < values.Length; j++)
                        Response.Write(names[i]+"="+values[j]+"<br/>");
                }//通过循环表单中的键和键值,用 Response.Write输出
            }
        }
    }
    

    原始效果图:
    填完信息提交后:
    用form属性将用户的信息数据提交给另一个网页,可以很好的避免一些问题,并且可以再另外的网页中通过循环把信息输出,不涉及控件中的id号,感觉比较好用。
  • 相关阅读:
    java学习阶段一 方法和文档注释
    java学习阶段一 二维数组
    java学习阶段一 一维数组
    java学习阶段一 循环结构
    java学习阶段一 选择结构
    java学习阶段一 运算符
    oracle学习笔记:修改表空间文件位置
    oracle学习笔记:重建临时表空间
    oracle等待事件1:Failed Logon delay等待事件
    oracle数据库删除归档日志
  • 原文地址:https://www.cnblogs.com/shenzhoulong/p/1731223.html
Copyright © 2011-2022 走看看