0

我有一个 MVC3 C# .Net Web 应用程序。我们正在使用 CKEditor。我们将 CKEditor HTML 保存到数据库中的字段。插入时我们正在转义 HTML。IE

<strong> Effort estimated for the subtask elements</strong>

变成

&lt;strong&gt; Effort estimated for the subtask elements &lt;/strong&gt;

这工作正常。但是,在加载视图后在下拉 onchange 事件上重新发布视图时,我收到以下错误。

System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TextBoeSbTkDescription="<p>
<strong>Exampl...").

加载页面时,文本框中的值从转义的 HTML 转换为非转义的。我在我的控制器动作中设置了一个断点,但在上述错误在 IE 中被删除之前它没有被执行。有什么想法可以解决这个问题吗?

4

1 回答 1

0

好的...我找到了答案,但我不知道它为什么有效。我在视图中有一些在下拉列表的 onchange 事件上运行的 javaScript。

function DDWkProdsOnChange(thisObj, selectedIndex) 
{
    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
    thisObj.form.submit();
}

我将表单提交更改为使用 jQuery:

function DDWkProdsOnChange(thisObj, selectedIndex) 
{
    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
   $('form').submit();
}

这解决了这个问题。我很想知道为什么。我看看是不是找不到答案

于 2012-07-17T16:21:56.093 回答