PartialView не очищается после обратной передачи ajax - PullRequest
1 голос
/ 17 августа 2010

У меня происходит эта странная вещь.

У меня есть PartialView с 3 полями.Я делаю jQuery ajax сообщение с моим результатом действия, и если модель проходит проверку, я сохраняю запись.Затем я также устанавливаю модель для очистки и передаю ее обратно в представление как частичное представление.

    public ActionResult jQueryAddComment(Comment comment)
    {
        if (ModelState.IsValid)
        {
            //do stuff here
            comment = new Comment();
        }

        return PartialView("AddNewComment", comment);
    }

Когда я возвращаюсь на страницу, мой JS заменяет содержимое div комментариев на html изновое частичное представление.

    function submitComment() {
        $.post('/Home/jQueryAddComment', { forumItemId: $('#id').val(), owner: $('#owner').val(), text: tinyMCE.get('text').getContent(), emailAddress: $('#emailAddress').val() }, function (result) {
            alert(result);
            $('.AddNewComment').html(result);
        });            
    }

Однако при отображении страницы значения возвращаются на место.Я вижу, что пустая модель передается в представление, так почему мои предыдущие значения все еще там?

Даже предупреждение показывает значения на месте, даже если я передаю пустой объект в частичное представление вконтроллер.

edit

Я должен упомянуть, что не могу очистить поля в JS страницы, так как я хочу использовать тот же код для отображения ошибока также успешные запросы.

Ответы [ 2 ]

3 голосов
/ 13 мая 2011

Используйте ModelState.Clear() перед возвратом новой пустой модели в качестве частичного вида, например:

if (ModelState.IsValid)
{
    //your save logic

    ModelState.Clear();
    comment = new Comment();
}

return PartialView("AddNewComment", comment);
3 голосов
/ 17 августа 2010

Стандартные помощники HTML ищут значения в ModelState и ViewData перед использованием значений, переданных помощнику.

Это может помочь: Как очистить текстовые поля, определенные с помощью помощников HTML MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...