第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用實體模型在 Razor 中的表更新中模型值為空

使用實體模型在 Razor 中的表更新中模型值為空

C#
qq_遁去的一_1 2023-12-17 09:58:17
我有一個表視圖來顯示公司的角色,其中包含用于選擇角色的復選框。我想在模型中更新它。我的 Roles.cshtml 頁面如下,@model IEnumerable<ExpenCare.Models.CompanyRole><div class="row">    @Html.Partial("_RightSidePane")    <div class="col-10 col-sm-8 col-xs-8 col-md-10">        <div class="tab-content" id="nav-tabContent">            <div class="tab-pane fade" id="list-Roles-Content" role="tabpanel" aria-labelledby="list-Roles"></div>            @using (@Html.BeginForm("UpdateRoles", "Admin", FormMethod.Post))            {            <table class="table">                    <tr>                        <th>                            Name                        </th>                        <th>                            Enable                        </th>                    </tr>                    @foreach (var item in Model)                    {                        <tr>                            <td>                                @Html.DisplayFor(m => item.Name)                            </td>                            <td>                                @Html.EditorFor(m => item.IsCheked, new { @checked = "checked" })                            </td>                        </tr>                    }                </table>                <p><input type="submit" value="Save Changes" /></p>                <p style="color:green; font-size:12px;">@ViewBag.Message</p>            }        </div>    </div></div>我的 UpdateRoles 操作如下,[HttpPost]        public ActionResult UpdateRoles(List<CompanyRole> model)        {            if (ModelState.IsValid)            {                foreach(var i in model)                {                    var id = i.Id;                    var role = i.Name;                }            }            ViewBag.Message = "Successfully updated.";            return View("Roles/Roles", model: model);    }從角色操作檢索的數據。我嘗試調試 updateRole 方法,但是模型始終為空。不知道是不是因為片面的看法。但當我單擊更新時,它返回到操作方法。是不是不能更新了?我也嘗試了MVC 5、EF 6 和多行(批量)編輯。
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

將 Id 傳遞給您的 post 方法,控件名稱應與模型屬性名稱匹配,以將值綁定到 post 模型參數。迭代這些控件來為每個控件創(chuàng)建唯一的 ID。在表單發(fā)布中,它將數據綁定到列表模型。


看看我下面的代碼。


看法 :


@using (Html.BeginForm("UpdateRoles","AdminRoles",FormMethod.Post))  

  @for (var i = 0; i < Model.Count(); i++)  

  { 

    <tr>

       <td>

           //to pass id to your post method

           @Html.HiddenFor(m => m[i].Id) 

           @Html.DisplayFor(m => m[i].Name)

       </td>

       <td>

           @Html.CheckBoxFor(m => m[i].IsChecked, new { })

       </td>

   </tr>

 }

 <input id="Submit" type="submit" value="submit" />   

}  


控制器 :


 [HttpPost]  

 public ActionResult UpdateRoles(List<CompanyRole> model)

 {  

     //your logic

     return View();  

 }

模型 :


public class CompanyRole {

    public int Id {get; set;}

    public string Name {get; set;}

    public bool IsChecked {get; set;}

}


查看完整回答
反對 回復 2023-12-17
  • 1 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號