我有一个表单的一部分,我需要处理不同于其他表单结果.在需要特殊处理的部分中,我需要迭代3个具有相同名称的表单字段.它们必须具有相同的名称,我无法改变它.我所指的表单部分看起来像这样:
<td><input name="Color" size="20" value="" type="text"></td> <td><input name="Color" size="20" value="" type="text"></td> <td><input name="Color" size="20" value="" type="text"></td>
使用C#我尝试这样的事情:
我尝试像这样处理它:
int i; for (i = 1; i <= Request.Form["Color"][i]; i++) { colorName.Text += Request.Form["Color"]; }
这导致以下异常:
System.NullReferenceException:未将对象引用设置为对象的实例.
我该如何处理具有相同名称的表单字段?
解决方法
你不需要做任何分裂或其他特殊魔法;你可以简单地从ASP.NET获取一个字符串数组:
string [] values = Request.Form.GetValues(“Color”);