2017-01-13 3 views
0

(Мой первый quesion, я очень впечатлен :))MVC 5/Bind DropDownList включая значения инвалидов

Во-первых, пожалуйста, простите мой английский, я французский;)

Мой вопрос о DropDownList, который связан (привязан) к требуемому полю (F, int) объекта O (отредактирован в виде V) и содержит список элементов (LE), некоторые из них отключены.

поведение я хочу в представлении:

  • при создании объекта, проверка должна TRIGG если ничего не выбрано в списке (OK)
  • при создании объекта, инвалидов Элементы списка не должны выбираться (OK)
  • Когда я редактирую объект, если это поле относится к числу разрешенных значений, то такое же поведение (ОК)
  • , когда я редактирую объект, если поле находится среди отключенных значений, он должен отображаться и выбираться при просмотре (OK)
  • , когда я изменить объект, если поле является одним из значений инвалидов, когда я отправляю данные, проверка клиент должен разрешить значения инвалидов быть подтверждено (OK с небольшим количеством JavaScript)

мой вопрос:

  • , когда я изменить объект, если поле является одним из значений инвалидов, когда я разместить данные, модель содержит нуль для поля, связанного с DropDownList, даже если я включать в себя скрытое поле с идентификатором.

Вот некоторые из моих кодов, которые помогут понять мою проблему.

Любая идея о том, как я могу включить отключенные значения моего раскрывающегося списка в модели при отправке данных?

Спасибо за помощь!


Вид:

<div class="col-md-3"> 
    @Html.DropDownListFor(model => model.Currency.Id, (SelectList)ViewBag.Currencies, new { @class = "form-control ignore-desactivated" }) 
    @Html.ValidationMessageFor(model => model.Currency, "", new { @class = "text-danger" }) 
</div> 

JS:

$(function() { 
    $('form').validate().settings.ignore = '.ignore-desactivated'; 
}); 

Источник когда издание:

<div class="col-md-3"> 
    <select class="form-control ignore-desactivated" data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Currency_Id" name="Currency.Id"> 
     <option value="-1"></option> 
     <option disabled="disabled" value="9">Angolan kwanza (desactivated)</option> 
     <option value="10">Argentine peso</option> 
     <option disabled="disabled" selected="selected" value="1">Euro (desactivated)</option> 
     <option disabled="disabled" value="56">Gibraltar pound (desactivated)</option> 
     <option value="3">Great Britain Pound</option> 
    </select> 
    <span class="field-validation-valid text-danger" data-valmsg-for="Currency" data-valmsg-[replace][1]="true"></span> 
</div> 

Моя модель, когда я хочу, чтобы сохранить данные:

https://i.stack.imgur.com/jQ9aH.png

ответ

0

... и я нашел ответ через несколько минут после того, как с просьбой (спасибо моим коллегам) ...

Я не знаю, если это верно, но немного JS код для удаления заблокированные предметы до того, как почта сделала трюк:

//Delete disabled elements of lists before submit 
$('form').submit(function() { 
    $('.ignore-desactivated').each(function() { 
     $(this).children().each(function() { 
      $(this).removeAttr('disabled'); 
     }); 
    }) 
}) 
Смежные вопросы