0

我有一个带有剃须刀引擎的 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"); }
 }

它工作正常,但我想将其更改radioboxcheckbox. 我的问题是如何知道动作中复选框集合中的所有复选框Manipuler

4

1 回答 1

1

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

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

于 2013-05-23T15:56:24.100 回答