将请求[]设置为自动生成的列表项

时间:2013-12-08 21:06:31

标签: c# asp.net-mvc-4 razor request

我想知道,我如何向自动生成的<input type="checkbox">列表发出请求。

到目前为止我的代码是:

@{
    if(Request["btn"] == "update")
    {
        // make a list with the checked items
    }
}
<div>
    <form action="" method="post">
        @{
            string tempChecked = "";

            foreach(Roles r in Roles.getAll(con))
            {
                if(Users.doesUserHaveRole(con,r.name,user._id))
                {
                    tempChecked = "checked";
                }

                    <input type="checkbox" name="@r._id" @tempChecked >@r.name
                    <br />

                    tempChecked = "";
                }
            }
        <input type="submit" value="update" name="btn" />
    </form>
</div>

当我无法制作Request["whatever number it has"]时,我该怎么做?

1 个答案:

答案 0 :(得分:1)

你是近距离使用

Request.Form[list name].ToString()

这将为您提供已选中复选框的列表。喜欢1,2,5等等。希望这有帮助

编辑: 如果没有检查过,我相信这会返回null。您可以使用split函数将结果放入数组中。像这样的东西

try{
    foreach(var temp in Request.Form[List Name].ToString().Split(',')){
        //this will then iterate over every check box that has been checked and you can save to the database or do something else with them.
    }
}catch{
    //No items were checked
}