dropdownlist для не установленного значения, пока модель зацикливается даже передать значение в конструкторе SelectList

MyModels

public class ExpenseEntryItems 
{
  public List<ExpenseEntryModel> NewItemList { get; set; }
  public List<SelectListItem> PaymentMethodList { get; set; }
  public List<SelectListItem> ActionList { get; set; }
}

public class ExpenseEntryModel
{
    [Display(Name = "Payment Method")]
    public string PaymentMethod { get; set; }

    [Display(Name = "Action")]
    public string Action { get; set; }
}

Мой взгляд

@model REMClient.Models.ExpenseEntryItems
@using (Html.BeginForm("SubmitForm", "Expenses", FormMethod.Post, new { enctype = "multipart/form-data", id = "frmFileUpload" }))
{
  @foreach (var i=0; i<Model.NewItemList.Count; i++)
  {
     @Html.DropDownListFor(modelItem => modelItem.NewItemList[i].PaymentMethod, new SelectList(Model.PaymentMethodList, "Value", "Text", Model.NewItemList[i].PaymentMethod), new { @class = "obj grid", id = "ddlPayMethod_" + Model.NewItemList[i].ExpDetailId })

     @Html.DropDownListFor(modelItem => modelItem.NewItemList[i].Action, new SelectList(Model.ActionList, "Value", "Text", Model.NewItemList[i].Action), new { @class = "obj grid", id = "ddlAction_" + Model.NewItemList[i].ExpDetailId })
  }
}

В контроллере я заполняю внутренний список моделей значениями. в представлении загружается первое значение списка и устанавливается в качестве выбранного значения для оставшегося раскрывающегося списка в сетке.

но он отображает значения в поле зрения, но не получает значение списка в контроллере после публикации, если я реализую раскрывающийся список для следующего как

@using (Html.BeginForm("SubmitForm", "Expenses", FormMethod.Post, new { enctype = "multipart/form-data", id = "frmFileUpload" }))
{
   @foreach (var i=0; i<Model.NewItemList.Count; i++)
   {
      string payment = Model.NewItemList[i].PaymentMethod;
      string action = Model.NewItemList[i].Action;
      @Html.DropDownListFor(modelItem => payment , new SelectList(Model.PaymentMethodList, "Value", "Text", payment ), new { @class = "obj grid", id = "ddlPayMethod_" + Model.NewItemList[i].ExpDetailId })

      @Html.DropDownListFor(modelItem => action , new SelectList(Model.ActionList, "Value", "Text", action ), new { @class = "obj grid", id = "ddlAction_" + Model.NewItemList[i].ExpDetailId })
  }
}

Пожалуйста, предложите мне правильный способ реализации

0 ответов

Другие вопросы по тегам