我知道在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数组元素?
答案 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]);
}
}