ASP.NET MVC-文本区域值
我使用ASP.NET MVC设置了所见即所得编辑器。当我发布时,一切正常,但是当我发布时,当页面返回并显示错误时出现错误,文本框中的值被弄乱(它已成为非HTML编码),出于表单验证的原因,这是正常的。 我的问题是-如何在控制器中(最好)更改textarea中文本的值?即使我使用ViewData[“fieldname”]并将asp代码设置为:ASP.NET MVC-文本区域值,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我使用ASP.NET MVC设置了所见即所得编辑器。当我发布时,一切正常,但是当我发布时,当页面返回并显示错误时出现错误,文本框中的值被弄乱(它已成为非HTML编码),出于表单验证的原因,这是正常的。 我的问题是-如何在控制器中(最好)更改textarea中文本的值?即使我使用ViewData[“fieldname”]并将asp代码设置为: <%= Html.TextArea("fieldname", ViewData["fieldname"], new { id = "fieldthin
<%= Html.TextArea("fieldname", ViewData["fieldname"], new { id = "fieldthing", name = "fieldthing", cols = "80", rows = "10" })%>
它仍然不起作用,因为ViewData是默认值,在post之后,它不会返回到该值,而是保留键入的内容
那么,您对如何编辑该值有何想法?我试着换一种新的视角,但也没用
谢谢 当您在控制器中检测到错误时,是否将
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
}
在post中,ModelState将保留post值,并在返回到同一页面时使用该值重新填充表单(验证失败)。如果您不想这样做,请尝试
ModelState.Remove(“fieldthing”)代码>