2015-04-01 119 views
0

我有一個問題,試圖從我的[HttpPost]控制器中的單選按鈕列表中讀取選定的值。任何幫助將不勝感激。MVC單選按鈕列表網格

Sample View

我的模型如下:

public partial class RoleModel 
{ 
    public Guid RoleId { get; set; } 

    public string Description { get; set; } 

    public List<RoleModuleAccessRight> RoleModuleAccessRights { get; set; } 
} 

public class RoleModuleAccessRight 
{ 
    public string ModuleName { get; set; } 
    public int ModuleId { get; set; } 
    public bool HasFullControl { get; set; } 
    public bool HasReadOnly { get; set; } 
    public bool HasNoAccess { get; set; } 
} 

我的控制器:

[HttpGet] 
public ActionResult Edit(Guid id) 
    { 
     RoleModel role = BusinessLayer.UserManager.GetRoleModel(id); 

     role.RoleModuleAccessRights = BusinessLayer.UserManager.GetModulesForRoleId(role.RoleId); 
     return PartialView("_Edit", role); 
    } 

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Edit(RoleModel model) 
    { 
     if (ModelState.IsValid) 
     { 
      BusinessLayer.UserManager.UpdateAccessRights(model); 
      string url = Url.Action("List", "Roles"); 
      return Json(new { success = true, url = url }); 
     } 
     return PartialView("_Edit", model); 
    } 

我的視圖代碼:

@foreach (RoleModuleAccessRight item in Model.RoleModuleAccessRights) 
      { 
       @Html.HiddenFor(model => item.ModuleId) 
       string radioName = string.Format("RoleModuleAccessRights_{0}", item.ModuleId.ToString()); 
       <tr> 
        <td>@item.ModuleName</td> 
        <td> 
         <div class="checkbox"> 
          @Html.RadioButton(radioName, item.HasFullControl, item.HasFullControl) 
         </div> 
        </td> 
        <td> 
         <div class="checkbox"> 
          @Html.RadioButton(radioName, item.HasReadOnly, item.HasReadOnly) 
         </div> 
        </td> 
        <td> 
         <div class="checkbox"> 
          @Html.RadioButton(radioName, item.HasNoAccess, item.HasNoAccess) 
         </div> 
        </td> 
       </tr> 
      } 

問題具有即時通訊是當我張貼表單我無法獲取我的[HttpPost]控制器中的信息。它返回「空」 enter image description here

的標記生成如下: enter image description here

回答