使用razor获取foreach中输入的post值

Get the post value of an input within a foreach with razor

本文关键字:post 输入 razor 获取 foreach 使用      更新时间:2023-09-26

我试图使你发布一个id的元素列表。变量"e"只是一个对象列表。

@for (int i = 0; i < e.Count; i++)
{
<li>
    <input type="hidden" name="id" value="@e[i].id"/> 
    <a onclick="document.getElementById('form').submit();">@e[i].name</a>
</li>
}

我得到的问题是,我试图从选择的输入中获得值,如果我给他们相同的名字,我每次都得到相同的值,当他们应该是不同的。我试图混合剃刀+ javascript得到这个工作,但我有这个麻烦,所以我想任何更容易的方法来做到这一点。我想要做的是获取带有

的值。
Request["name"];

谢谢!

目前,您的值将在Request["id"]中作为逗号分隔的列表可用。这是因为您有多个具有相同name属性值的相同形式的元素。

您可以使用string.Split方法单独处理服务器上的值:

if(IsPost && !Request["id"].IsEmpty()){
    foreach(var id in Request["id"].Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries))
       // process the id
    }
}