Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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
C# ASP.NET MVC 2 Html.TextArea用于Html.TextArea绑定_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 2 - Fatal编程技术网

C# ASP.NET MVC 2 Html.TextArea用于Html.TextArea绑定

C# ASP.NET MVC 2 Html.TextArea用于Html.TextArea绑定,c#,asp.net,asp.net-mvc,asp.net-mvc-2,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 2,这是我在ASP.NET MVC的默认控件/帮助程序集中遇到的最奇怪的行为 我发布一个textarea值,如下所示: <%:Html.TextAreaFor(x=>x.Data.Body,new {style="display:none;", @class="ckeditor"}) %> x.Data.Body,新的{style=“display:none;”,@class=“ckeditor”}> 在我的控制器操作中,我为Data.Body返回一个不同的值(即model.D

这是我在ASP.NET MVC的默认控件/帮助程序集中遇到的最奇怪的行为

我发布一个textarea值,如下所示:

<%:Html.TextAreaFor(x=>x.Data.Body,new {style="display:none;", @class="ckeditor"}) %>
x.Data.Body,新的{style=“display:none;”,@class=“ckeditor”}>
在我的控制器操作中,我为Data.Body返回一个不同的值(即model.Data.Body=“junk”),但我仍然在textarea框中看到最初发布的值

如果我这样做

<textarea id="Data.Body" name="Data.Body" style="display:none;" class="ckeditor">
    <%=Model.Data.Body %>
</textarea>

它按预期工作

有什么见解吗


谢谢。

这是经过设计的-HTML助手将重新显示发布的数据,而不是模型中的数据。 他们假设您将使用Post重定向Get模式,并且在成功的Post上,您应该重定向到Get方法。如果您在发布后重新显示信息,帮助程序会假定出现错误,并显示原始发布值,以便用户可以“更正”它们

你可以建模状态。如果你不想发生这种情况,请澄清,但是我会考虑围绕邮政重定向GET的标准PRG模式进行编程。 我不久前遇到了这个问题-请参阅我在此处的帖子:


在我的例子中,它是一个wysiwyg编辑器,我使用HtmlAgilityPack和AntiXSS库过滤掉某些html节点和值。因此,我保存这些值并重新显示过滤后的数据。我相信您可以在java中成功地覆盖SpringMVC中的模型值,所以我只是按照自己的直觉行事。谢谢你的帮助!