处理HTML数组输入元素

时间:2013-02-04 13:13:07

标签: asp.net web-applications asp.net-3.5

我知道在PHP中我们可以轻松地创建这样的东西来处理HTML数组元素:

<input name="test[0]" value="1" />
<input name="test[1]" value="2" />
<input name="test[2]" value="3" />

然后在代码中我可以将其作为数组访问:

$arrElements = $_POST['test'];
echo $arrElements[0]; // prints: 1

我一直在尝试在ASP.NET(Web应用程序)中执行相同的操作。但不幸的是,这(也)并不那么容易。

因此,如果我使用与上面相同的HTML,那么我尝试在我的CodeBehind中执行以下操作:

var test = Request.Form.GetValues("test");

但这导致testnull。反正有没有像PHP一样处理HTML数组元素?

1 个答案:

答案 0 :(得分:1)

更改你的html:

<input name="test" value="1" />
<input name="test" value="2" />
<input name="test" value="3" />
代码背后的代码:

var test = Request.Form.GetValues("test");

现在你将在test var中获得一系列值。

如果您无法更改html,可以使用以下代码:

var testList = new List<string>();
foreach (string key in Request.Form.AllKeys)
{
    if (key.StartsWith("test[") && key.EndsWith("]"))
    {
        testList.Add(Request.Form[key]);
    }
}