2010-07-12 2 views
0

У меня есть редактор WYSIWYG, настроенный с использованием ASP.NET MVC. Когда я отправляю сообщение, все в порядке, однако, когда я отправляю сообщение и появляется ошибка, когда страница возвращается и показывает ошибки, значение в текстовом поле перепутано (оно стало не кодировано HTML) и для целей проверки формы, это отлично. Мой вопрос в том, как в контроллере (желательно) изменить значение текста в текстовом поле? Даже если я использую ViewData [ «FIELDNAME»] и установить код жерех на:ASP.NET MVC - значения TextArea

<%= Html.TextArea("fieldname", ViewData["fieldname"], new { id = "fieldthing", name = "fieldthing", cols = "80", rows = "10" })%> 

Он по-прежнему не работает, потому что ViewData это значениепо умолчанию, который, после того, как пост, не возвращается к этому значению он остается тем, что было напечатано.

Итак, любые мысли о том, как изменить это значение? Я попытался перейти в новую точку зрения, но это тоже не сработало.

Спасибо!

ответ

0

Когда вы обнаружили ошибку в контроллере, вы сброса значение ViewData["fieldname"] быть такое же значение, как fieldname?

Рассмотрит реализацию нечто подобное, если это помогает:

if (!SanityCheckUserInput()) 
{ 
    //something didn't pass validation. send back to user for correction 
    ViewData["fieldname"] = Request.Form["fieldname"]; 
    return View(); //return the same View 
} 
0

На посте, то ModelState будет удерживать размещенное значение и использовать, чтобы заселить форму, если вернуться к той же странице (отказ проверки). Если вы не хотите этого делать, попробуйте ModelState.Remove("fieldthing");

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