C# 在asp mvc中从客户端检测到潜在危险的请求。表单值
我正在使用富编辑器 它告诉我这个错误 返回NullC# 在asp mvc中从客户端检测到潜在危险的请求。表单值,c#,asp.net-mvc,asp.net-mvc-5,rich-text-editor,C#,Asp.net Mvc,Asp.net Mvc 5,Rich Text Editor,我正在使用富编辑器 它告诉我这个错误 返回Nullt.FullText=HttpContext.Request[“Editor1”] 视图: <div class="name"> <label id="lbl-full-text">FullText : </label> @* @Html.TextAreaFor(model => model.FullText)*@ <div name="FullText" style="mar
t.FullText=HttpContext.Request[“Editor1”]代码>
视图:
<div class="name">
<label id="lbl-full-text">FullText : </label>
@* @Html.TextAreaFor(model => model.FullText)*@
<div name="FullText" style="margin-right: 109px; margin-top: -34px;">
@Html.Raw(ViewBag.Editor)
</div>
</div>
元数据:
[AllowHtml]
public string FullText { get; set; }
我如何解决这个问题 有几种方法可以解决这个问题。在我看来,并不是所有的方法都是最好的
这可能是最糟糕的
鸟枪进近
<httpRuntime requestValidationMode="2.0"/>
我已经有一段时间没有在我创建的任何网站上做这些了,但我认为它们仍然有效。使用System.Web.HttpContext.Current.Request.Unvalidated.Form[“Editor1”]
禁用整个页面或所有页面的输入验证是个坏主意 我最终通过在AJAX发布之前截取jQuery中编辑的值并转义该值来完成这项工作,如下所示:
$("#Textareaeditor").val(escape(-get value from editor-);
然后,服务器端您只需执行以下操作:
model.property = URI.unEscapeDataString(model.property).
这对md有效,当时没有其他操作,我不想设置requestValidationMode=2.0
可能重复的No。我做这一步,但它不工作
<configuration>
...
<location path="MyFolder/.aspx">
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
</location>
...
</configuration>
[ValidateInput(false)]
$("#Textareaeditor").val(escape(-get value from editor-);
model.property = URI.unEscapeDataString(model.property).