2013-11-26 4 views
1

Я реализовал функцию автоматической загрузки следующей записи после окончания текущего. На сервере я могу получить следующую запись и загрузить ее в модель. Проблема в том, что когда я возвращаю представление, MVC одобряет опубликованные значения из предыдущей записи по значениям модели из текущей записи.Сбрасываемые значения перед возвратом вида

Public Function Update(model As UpdateModel) As ActionResult 
    '... save changes to the model 

    If model.LoadNext Then 
     Dim nextRecord As UpdateModel = GetNextRecord() 

     Return View(nextRecord) 

    Else 
     Return RedirectToAction("Index") 
    End If 
End Function 

Я подтвердил в отладчике, что передаю следующий рекордер должным образом. Представление читает опубликованные значения (из Request, я думаю?) Вместо использования модели.

Есть ли способ избежать такого поведения. Request.Form, Request.Params и Request.QueryString все читаются, поэтому я не могу их очистить.

ответ

1

Перед возвратом зрения вы должны позвонить ModelState.Clear(). Помните, что Post-Redirect-Get также является опцией, если вы не хотите нарушать навигацию пользователя.

+0

Спасибо. Я на самом деле * хочу * нарушить навигацию пользователя в этом случае. Предполагается, что они должны размещать целевую страницу, а не отдельные страницы записей. –

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