Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC-文本区域值_Asp.net_Asp.net Mvc - Fatal编程技术网

ASP.NET MVC-文本区域值

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

我使用ASP.NET MVC设置了所见即所得编辑器。当我发布时,一切正常,但是当我发布时,当页面返回并显示错误时出现错误,文本框中的值被弄乱(它已成为非HTML编码),出于表单验证的原因,这是正常的。 我的问题是-如何在控制器中(最好)更改textarea中文本的值?即使我使用ViewData[“fieldname”]并将asp代码设置为:

<%= 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”)