用剃须刀知道控制器中复选框的值

时间:2013-05-23 15:49:46

标签: c# asp.net asp.net-mvc razor checkbox

我有一个带剃须刀引擎的asp.net mvc应用程序。 在视图中Home我有这个片段:

<section  id="form_admin">
    <form action="/Super/Manipuler" method="post">
    <fieldset>
        <legend>Formulaire d'ajout d'un administrateur</legend>
           @Html.Label("Login")
           @Html.Label("Mail")
           @Html.Label("Password")
           @Html.Label("Name")
           <br />
           <br />    

    @if(Model != null){
    foreach (Upload.Models.AdminModels admin in Model)
    {
            if (i == 0){
                <input type="radio" checked class="radio" name="radio"  value="@admin.Login" >
            }
            else{
                <input type="radio"   class="radio" name="radio" value="@admin.Login" style="margin-left:0.3px;">
            }      
    <label id="log">@admin.Login</label>
    <label id="logm">@admin.Mail</label>
    <label id="logp">@admin.Password</label>
    <label id="logn">@admin.Name</label>
    <br />
            i++;
    }
    }

         <br />
         <input type="submit" value="Editer"  name="submit_button"/>
         <input type="submit" value="Supprimer" name="submit_button" />

     <a href="@Url.Action("Admin_Creation", "Super")" style="color:blue">Créer un nouveau compte</a>
    </fieldset>
  </form>
</section>

在控制器中:操作Manipuler如下:

  public ActionResult Manipuler()
        {
            string buttonName = Request.Form["submit_button"];
            string _login = Request.Params["radio"];

            Upload.Models.AdminModels admin = new AdminModels();
            Upload.Models.CompteModels.Modifiying_login = _login;

            if (buttonName == "Editer") { return RedirectToAction("Edit", "Admin"); }

            else { admin.Delete_admin(_login); return RedirectToAction("Home", "Super"); }
 }

它运行正常,但我想将radiobox更改为checkbox。 我的问题是如何知道操作Manipuler中的复选框集合中的所有复选框?

1 个答案:

答案 0 :(得分:1)

看看Phil Haack关于模型绑定复选框列表的文章。基本上,您只需要以特定方式设置HTML(将复选框命名为相同的,然后将各种POSTed值转换为列表)。

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx