【问题标题】:How can I handle text boxes that are created by the client/javascript, on the server如何在服务器上处理由客户端/javascript 创建的文本框
【发布时间】:2011-05-13 02:06:50
【问题描述】:

我有一个收集名称的表单中的文本框。如果客户决定他/她想要添加更多名称,他们会单击添加更多,然后会出现另一个文本框。

如果客户端创建了 15 个文本框,我如何在服务器上使用它们的值?假设我将第一个文本框命名为 txtbox1,每个额外的文本框都有一个递增的数字。

我可以使用 Asp.net 指定的相同命名约定,找出页面上有多少个文本框,然后循环遍历它们,还是必须首先由框架呈现它们?

【问题讨论】:

  • 如果您在 javascript 代码中创建这些文本框,请确保设置这些输入的“名称”属性,而不仅仅是 id。否则它们不会出现在 Request.Form 集合中。

标签: c# asp.net


【解决方案1】:

HttpContext.Current.Request.Params 有所有提交值的参数,即使是你使用javascript创建的,只要文本框的值是从客户端发送到服务器当然...我的意思是,你需要将客户端创建的文本框添加到要提交的主要表单元素中。

您可以自己制定命名约定,但请注意不要与 Asp.Net 约定发生冲突,因为这可能会给您带来麻烦……比如说:MyTextBox_1、MyTextBox_2。

然后您可以迭代HttpContext.Current.Request.Params,查看以“MyTextBox_”开头的键并读取所有键。

编辑:更好的是你可以使用HttpContext.Current.Request.Form,因为它只包含在表单中提交的参数。

【讨论】:

    猜你喜欢
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多