使用单选按钮将模型对象列表传递给我的操作方法

时间:2013-07-17 23:33:35

标签: asp.net-mvc entity-framework

我有一个实体SecurityroleTypePermision,它存储三个ID值: -

  • SecurityRoleID
  • AssetTypeId
  • PermissionLevelID

我在asp.net mvc Web应用程序中的一个安全矩阵上工作,该应用程序应该填充数据库表。

我的观点如下: -

model TMS.ViewModels.SecurityRoleGroupAssign
@using (Html.BeginForm("Assign","SecurityRole")) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table class="table table-striped table-bordered bootstrap-datatable datatable">
 <thead><tr>
<th></th>
@foreach(var item in Model.PermisionLevel.OrderByDescending(a=>a.PermisionSize)){
        <th>
@item.Name @Html.HiddenFor(model => item.PermisionLevelID)
        </th>}
    </tr>
@foreach (var item2 in Model.TechnologyType.OrderBy(a=>a.Name)) {
   <tr>
    <td class="f">
        @item2.Name
    </td>
       @foreach (var item3 in Model.PermisionLevel.OrderByDescending(a=>a.PermisionSize))
       {
           <td class="f">
               @Html.RadioButtonFor(model => item2.AssetTypeID,item2.AssetTypeID.ToString())
               @Html.HiddenFor(model => item3.PermisionLevelID,item3.PermisionLevelID)
           </td>}
</tr>}
@Html.HiddenFor(model => model.SecurityRole.SecurityRoleID)
</table></div></div></div>
 <p><input type="submit" value="Save" />
</p>

我的行动方法是: -

[HttpPost]
public ActionResult Assign(IList<SecurityroleTypePermision> list)
        {    foreach (var c in list)
            {  repository.InsertOrUpdateSecurityroleTypePermisions(c);
            }
            repository.Save();
            return RedirectToAction("Index");}

目前我遇到以下问题: -

  1. 如果我提交表单,我的分配操作方法中会出现以下错误: -
  2. System.NullReferenceException未被用户代码

    处理
    1. 所有单选按钮都在同一组内,因此用户只能为每个表选择一个单选按钮。相反,我需要用户能够为每个表格行选择一个单选按钮。

      由于

    2. :::::: EDIT :::::::

      ViewModel是: -

      public class SecurityRoleGroupAssign
      {
          public  IEnumerable<TechnologyType> TechnologyType {get; set;}
          public  IEnumerable<PermisionLevel> PermisionLevel {get; set;}
          public SecurityRole SecurityRole { get; set; }
      
      }
      

      数据库的一部分是: - enter image description here

0 个答案:

没有答案