Отображение значения ViewBag в методе EditorFor() представления с использованием ASP.NET MVC

Возможно, это ошибка в моем синтаксисе, но я не смог установить значение по умолчанию для моего EditorFor на мой взгляд, используя ViewBag,

Я проверил, что значение в ViewBag.FirstName проходит правильно, это нормально. Однако поле отображается без значения.

Мое утверждение таково:

@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control" } ,  @Value = ViewBag.FirstName })

Любая помощь будет принята с благодарностью.
Извиняюсь за простоту моего вопроса.

2 ответа

Решение

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

Если вам действительно нужно ViewBag по какой-то причине просто перенесите свое назначение на @Value внутри вашего htmlAttributes объект, вот так:

@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control", @Value = ViewBag.FirstName } })

Я знаю, что это старый ответ, и спасибо johnnyRose за правильный ответ. Я просто хотел добавить, что я до сих пор не смог передать @value вместе с ним, и это было из-за @Value простого случая v=V.. Хотел поделиться своим невежеством в надежде помочь другому.:)

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