• Request 分别获取具有相同 name 属性表单元素值


    html 中是允许多个具有相同name属性的元素的,例如

    <div>
    <input name="txtName" id="txtFirstName" type="text" />
    <input name="txtName" id="txtMiddleName" type="text" />
    <input name="txtName" id="txtLastName" type="text" />
    </div>
    服务器端读取的常规做法是:

    string name = Request.Params["txtName"];

    得到的将是一串以逗号分割的字符串,当然你可以手动分割:
    string[] nameParts = name.Split(',');
    但是当每个 input 输入可能包含逗号的时候,通过逗号分割就会是错的。
    如何解决?
    在 Classic ASP 通过 Request 可以这样分别获取

    <%
    firstName = Request.Form("txtName")(1)
    middleName = Request.Form("txtName")(2)
    lastName = Request.Form("txtName")(3)
    %>
    在 ASP.NET HttpRequest 同样支持 Classic ASP Request 的用法,

    string[] nameParts = Request.Params.GetValues("txtName");
    string firstName = nameParts[0];
    string middleName = nameParts[1];
    string lastName = nameParts[2];
    以上用法对于 GET/POST 方式提交都是适用的。

    值 得注意的是,用来存储 QueryString/Form/ServerVariables 的对象是 System.Collections.Specialized.NameValueCollection, 这是 Key/Value 型对象,它的特殊性在于,一个Key下可存储多个 Value。

  • 相关阅读:
    C#单例模式的三种写法
    【TFS】增加组员,以及用户权限分配
    Mongodb实用网址记录
    关于JS 对象与JSON对象
    多线程操作
    检测到有潜在危险的 Request.Form 值
    JavaScript 【正则表达式验证数字代码】
    【SQL】大杂烩
    IE 中创建 子窗口 传值 与接收值 【window.showModalDialog】
    UITabbarView Tabbar
  • 原文地址:https://www.cnblogs.com/xuxiaoshuan/p/3948970.html
Copyright © 2020-2023  润新知