Я работаю над веб-приложением ASP.NET MVC-4. Я определяю следующий внутри моего метода действия построить SelectList
:Может ли имя ViewBag быть таким же, как имя свойства Model в DropDownList?
ViewBag.CustomerID = new SelectList(db.CustomerSyncs, "CustomerID", "Name");
Тогда я рендеринг моего DropDownListFor
, как следовать в моих View
:
@Html.DropDownListFor(model => model.CustomerID, (SelectList)ViewBag.CustomerID, "please select")
Как показано Я именование ViewBag
недвижимости равным Model
, которое является CustomerID
. Из моего собственного тестирования определение одного и того же имени не вызывало никаких проблем или конфликтов, но я должен избегать этого?
Не делайте этого - это вызывает проблемы (например, вы не можете получить какую-либо проверку на стороне клиента) –
@StephenMuecke clien валидация на что? ViewBag не имеет какой-либо проверки –
@teovankot, по свойству модели 'CustomerID' - при использовании OP не будут генерироваться атрибуты' data-val- * ', а пользователь выбирает первый вариант« пожалуйста, выберите », no будет отображаться ошибка проверки (когда это должно быть - предполагается, что 'CustomerID' - typeof' int') –