2010-09-24 2 views
0

Update следующие исходные комментариисодержимое ASP.NET MVC модель исчезает случайно

Модель имеет объект в нем называется «Счет», из которых есть ИНТ propety (Account.AccountID)

ViewB имеет форму, которая собирает некоторую дополнительную информацию, но также имеет текстовое поле, заполненное Model.Account.AccountID.

Когда я отправляю ViewB, Model.Account становится null.


Его, вероятно, проще показать упрощенную версию того, что у меня есть, прежде чем объяснить вопрос:

[HttpGet] 
public ActionResult ViewA() 
{ 
    return View(new BlahModel()); 
} 

[HttpPost] 
public ActionResult ViewA(BlahModel model) 
{ 
    if(there_was_a_problem) 
    return View("ViewA", model); 
    else 
    return View("ViewB", model); 
} 

// have tried both httppost, httpget and no attribute here 
public ActionResult ViewB(BlahModel model) 
{ 
return View(model); 
} 

я загрузить ViewA через GET, заполните сильно напечатанном виде и представить - то следующий вид (либо ViewA снова, либо ViewB, если запрос не имеет проблем) в порядке ... он имеет полный доступ ко всей модели и может отображать свойства внутри него.

Проблема заключается в том, что если я затем отправлю форму в ViewB (которая отправляется в ActionResult ViewB) - модель внезапно имеет нулевые свойства повсюду, хотя ее использование одной и той же модели - и до публикации подняло все ценности успешно.

Любые идеи?

Большое спасибо

+0

Какие объекты html у вас есть на ViewB, которые вы ожидаете, чтобы заполнить модель? Запустите отладку и посмотрите на объекты response.form – Clicktricity

ответ

1

Скорее всего - ViewB взгляд не делает достаточно и модель связующие не может найти значения для связывания.

Аргумент действия привязан к значениям формы. Не имеет значения, правильно ли вы передаете модель. Оказание того, что важно (или передача строки запроса/куки).

+0

Большое спасибо, я проверил POST и оттуда, а затем покрутил, что кто-то установил текстовое поле, в котором идентификатор учетной записи был отключен, – isNaN1247

1

В дополнение к Arnis L.'s answer вы можете использовать инструмент, например Firebug, для проверки того, что параметры вашей модели (или любые параметры вообще) отправляются по запросу.

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