我有一个收集名称的表单中的文本框。如果客户决定他/她想要添加更多名称,他们会点击添加更多名称,然后会出现另一个文本框。
如果客户端创建了15个文本框,我如何在服务器上使用它们的值?假设我将第一个文本框命名为txtbox1,每个附加文本框都会有一个递增的数字。
我可以使用与Asp.net分配的相同的命名约定,弄清楚页面上有多少个文本框,然后循环它们,还是必须最初由框架呈现?
答案 0 :(得分:2)
HttpContext.Current.Request.Params
具有所有提交值的参数,即使是那些使用javascript创建的参数,只要文本框的值从客户端发送到服务器当然...我的意思是,你需要将客户端创建的文本框添加到要提交的主表单元素。
您可以自己制定命名约定,但请注意不要与Asp.Net约定发生冲突,因为这可能会给您带来麻烦......让我们说:MyTextBox_1,MyTextBox_2。
然后你可以迭代HttpContext.Current.Request.Params
,看看哪个键以“MyTextBox_”开头并读取所有键。
编辑:更好,但您可以使用HttpContext.Current.Request.Form
,因为它只包含在表单中提交的参数。