使用剃刀获取foreach中输入的post值

时间:2014-07-11 03:33:38

标签: javascript razor

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

@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>
}

我得到的问题是我试图从所选输入中获取值,如果我给它们相同的名称,我每次都会得到相同的值,当它们应该是不同的时候。 我尝试混合使用razor + javascript来实现这个功能,但是我遇到了麻烦,所以我想对此更容易。 我打算用

来获得价值
Request["name"];

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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