Строка из списка моделей, не являющихся обязательными

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

У меня есть следующее свойство в модели:

 public class QuoteRequestViewModel
{
    public long LeadId { get; set; }

    public AgentQuoteInfoModel GeneralInfo { get; set; }

    public List<TransportQuoteModel> ListTransport { get; set; }
}
  

Модель TransportQuoteModel выглядит следующим образом:

 public class TransportQuoteModel
{
    public string InclusionsId { get; set; }
    public string ExclusionsId { get; set; }
}
  

У меня есть скрипт jquery:

 $('.inclusionExclusionMainDiv').each(function (i, obj) {
    selectedInclusions = [6-0,8-0];
    $("#ListTransport_" i "__Inclusions").val(selectedInclusions);
})
  

Я запускаю приведенный выше код jquery перед отправкой формы с помощью javascript.

Отображаемые идентификаторы включения и исключения в cshtml выглядят следующим образом:

 <input class="selectedInclusion0" id="ListTransport_0__Inclusions"    name="ListTransport[0].Inclusions" type="hidden" value="">
<input class="selectedExclusion0" id="ListTransport_0__Exclusions" name="ListTransport[0].Exclusions" type="hidden" value="">
  

Комментарии:

1. Что должно произойти? Было бы неплохо добавить немного больше контекста 🙂

2. Опубликуйте свой метод контроллера, в котором выполняется привязка

Ответ №1:

ваш отрисованный HTML-код для входных данных находится в правильном формате, но он ссылается на имя свойства, которое не существует.

то есть: ваш отрисованный HTML-код должен выглядеть следующим образом:

 <input class="selectedInclusion0" id="ListTransport_0__InclusionsId" name="ListTransport[0].InclusionsId" type="hidden" value="">
<input class="selectedExclusion0" id="ListTransport_0__ExclusionsId" name="ListTransport[0].ExclusionsId" type="hidden" value="">
  

вместо:

 <input class="selectedInclusion0" id="ListTransport_0__Inclusions" name="ListTransport[0].Inclusions" type="hidden" value="">
<input class="selectedExclusion0" id="ListTransport_0__Exclusions" name="ListTransport[0].Exclusions" type="hidden" value="">
  

затем вам нужно соответствующим образом изменить свой скрипт:

 $("#ListTransport_" i "__InclusionsId").val(selectedInclusions);