0

我知道在 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");

但这导致test存在null。有没有办法像我用 PHP 一样处理 HTML 数组元素?

4

1 回答 1

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]);
    }
}
于 2013-02-04T13:36:59.873 回答