为了账号安全,请及时绑定邮箱和手机立即绑定

List 中的模型项绑定

List 中的模型项绑定

C#
慕桂英4014372 2022-07-23 16:40:52
我已经将模型传递给局部视图,然后我需要将一些文本字段绑定到视图中的模型。@model SRINews.Domain.NewsTotal@using (Html.BeginForm("UpdateNewsItem", "Home", FormMethod.Post)){    <table class="table table-borderless table-cart" id="mytable" data-addclass-on-smdown="table-sm">        <tbody>            @foreach (var item in Model.items)            {                <tr class="newsRow" id="@item.ItemId">                    <td class="cart-img nostretch">                        <a href="#"><img src="@item.ImageUrl" alt=""></a>                    </td>                    </tr>                    <tr>                    <td>                     <input type="text" class="form-control" placeholder="Personalized Name">                     //@Html.TextboxFor(x=>x)                     // I want to bind PersonalizedName to model                    </td>                    </tr>                    <tr>                    <td>                     <input type="text" class="form-control" placeholder="Country">                      // I want to bind Country to model                    </td>                    </tr>                    }                    </tbody>                    </table>                       <input type="submit" class="btn btn-primary" value="Personal Details" />}模型 public class Items    {        public int ItemId { get; set; }        public string ItemCode { get; set; }        public string PersonalizedName {get;set;}        public string Country {get;set;}    }    public class NewsTotal    {        public int BaseItem { get; set; }        public string BaseName {get;set;}        public List<Items> items { get; } = new List<Items>();    }Public ActionResult UpdateNewsItem(NewsTotal nTotal){return View();}
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

您想使用传统的 for 循环,因此您可以使用索引绑定到List<T>模型中的您,您还需要使其items可变,因此您还需要有一个setfor 它,否则您将不会能够提交任何东西:


//You'll need to make this mutable, so it can post the edited values

public List<Items> items { get; set; } = new List<Items>();

然后在您的视图中:


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

{

   @Html.HiddenFor(x => Model.items[i].ItemId)

   @Html.HiddenFor(x => Model.items[i].ItemCode)

   <tr class="shoppingCartRow" id="@Model.items[i].ItemId">

     <td class="cart-img nostretch">

       <a href="#"><img src="@Model.items[i].ImageUrl" alt=""></a>

     </td>

   </tr>

   <tr>

     <td>

       @Html.TextboxFor(x=> Model.items[i].PersonalizedName, new { @placeholder = "Personalized Name"})

     </td>

   </tr>

   <tr>

     <td>

       @Html.TextboxFor(x=> Model.items[i].Country, new { @placeholder = "Country"})

     </td>

   </tr>

}


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信