2012-04-26 2 views
0

Я используюEditorFor передавая нулевые значения в мой контроллер

@(Html.EditorFor(m => m.Risk)) 

показать все изменяемые значения для моего объекта риска. Когда это будет размещен на мой контроллер, который принимает риск, который выглядит следующим образом:

[HttpPost] 
public ActionResult Add(Risk formRisk, string programId) 

Риск создается (это просто волшебно), но все строковые значения равны нулю, даже если значения перечислений правильно заполнен. Я также эффективно получаю другое значение, полученное с помощью сопоставления имени поля формы без проблем.

У кого-нибудь есть подсказки относительно того, с чего начать смотреть на это, поскольку большая его часть основана на согласии?

ответ

0

Оказывается, модель моего представления не была того же типа, что и тип моего метода. Я отправлял форму, взятую в качестве параметра. По-видимому, и это выводится и может быть ошибочным, но, похоже, MVC 3 делает некоторые интересные магии, основанные на размышлениях, при обработке представленных форм. Скажем, у меня есть метод, как так:

[HttpPost] 
public ActionResult ProcessForm(Book book) 
{ 
    string title = book.Title; 
    //code for stuff 
} 

Если моя форма, которую я отправил на это действие имеет поле с именем «Title», что значение этого элемента формы автоматически получает значение любого свойства от параметра с name "Title". Я не знал, что это произошло, но это довольно круто, и теперь я правильно использую его с помощью редактора. =] Благодаря 11 людям, которые были заинтересованы.

Этот пост заработал мне значок перелива, потому что это было так неинтересно. =]

Смежные вопросы