c# - 详细信息 View 和与 TinyMCE 的集成 <%@ Page validateRequest ="false"%>

标签 c# asp.net tinymce

我在 EDIT MODE 的 DetailView 中使用 TinyMCE。

我想知道是否有解决方案可以防止Request Validation触发错误

不使用 <%@ Page validateRequest="false" %>对于我的页面。

目前我发现的唯一方法是使用选项对 TinyMCE 使用的 TextBox 进行编码:“xml”

tinyMCE.init({
        encoding: "xml",

这样Request Validation不会触发错误,而是在读取TextBox中的数据时将结果编码。 我还尝试使用此代码在 PageLoad 上解码 TextBox 的内容

myTextBox.Text = HttpUtility.HtmlDecode(myTextBox.Text)

但结果并不像预期的那样,所以我可以想象它只是编码文本。

有什么想法吗?谢谢

更新


我找到了解决问题的方法。 我在 DetailsView 的 _DataBound 事件中添加了这段代码

       TextBox myContentAuthor = (TextBox)uxAuthorListDetailsView.FindControl("uxContentAuthorInput");
        myContentAuthor.Text = HttpUtility.HtmlDecode(myContentAuthor.Text);

因此,在 DataBound 事件中,(甚至在回发时也应该有效)内容将为文本框 tinymce 解码。

这里应该如何工作:

01 - 使用函数编码在文本框中插入 TinyMCE ESCAPE 数据:“xml”,

02 - 数据已存储为 ESCAPED

03 - 读取数据并将其内容添加到文本框,其中应用 TinyMCE 在 DATABOUND EVENT 中用于 DetailView 和 HttpUtility.HtmlDecode(因此它看起来已解码)

04 - 您可以在编辑模式下修改文本框中的内容。在回发时,TinyMCE 将使用编码再次编码:“xml”等等

希望大家能帮到别人。

但是请给我您对此解决方案的评论谢谢!也许你想出了更优雅的解决方案! :-)

最佳答案

我个人会简单地关闭此页面的请求验证。

除非您预见到跨站点请求等问题,否则无需在其假定的“保护”下庇护

关于c# - 详细信息 View 和与 TinyMCE 的集成 <%@ Page validateRequest ="false"%>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499196/

相关文章:

TinyMCE 为自定义排序列表创建自定义按钮

c# - 如何将列表或字典类型作为单个变量存储到 SQL 中?

c# - 当目标是 ImageBrush.ImageSource 时,TemplateBinding 失败

c# - 如何在 Visual Studio 中使用 "Light bulb"重构工具来使用显式类型而不是 var?

c# - 将 json 中的图像的 base64 字节数组传递给 webApi

c# - 通过该单元格顶部的突出显示后如何保持单元格的背景颜色?

c# - 打开网站错误

javascript - 在 TinyMCE 中输入时在字符前添加空格

c# - 使用接口(interface)时未触发方法

javascript - TinyMCE 和 Yii