【发布时间】:2010-12-21 12:24:31
【问题描述】:
我在编辑模式中的DetailView中使用TinyMCE。
我想知道是否有可以防止请求验证触发错误的解决方案
不使用 <%@ Page validateRequest="false" %> 我的页面。
目前我发现的唯一方法是使用选项对 TinyMCE 使用的 TextBox 进行编码:“xml”
tinyMCE.init({
encoding: "xml",
这样,Request Validation 不会触发错误,而是在读取 TextBox 中的数据时将其结果编码。 我还尝试使用此代码在 PageLoad 上解码 TextBox 的内容
myTextBox.Text = HttpUtility.HtmlDecode(myTextBox.Text)
但结果并不如预期,所以我可以将其可视化为编码文本。
有什么想法吗?谢谢
更新
我找到了解决问题的方法。 我在 _DataBound 事件中为 DetailsView 添加了这段代码
TextBox myContentAuthor = (TextBox)uxAuthorListDetailsView.FindControl("uxContentAuthorInput");
myContentAuthor.Text = HttpUtility.HtmlDecode(myContentAuthor.Text);
因此,在 DataBound 事件上,(即使在回发时也应该工作)内容将为 textbox tinymce 进行解码。
这里应该如何工作:
01 - 使用函数编码将 TinyMCE ESCAPE 数据插入文本框中:“xml”,
02 - 数据已被存储为 ESCAPED
03 - 读取数据并将其内容添加到 TextBox,其中应用 TinyMCE 在 DATABOUND EVENT 中用于 DetailView 和 HttpUtility.HtmlDecode(因此看起来已解码)
04 - 您可以在编辑模式下修改文本框中的内容。在回发时,TinyMCE 将使用 encoding: "xml" an so on 再次编码
希望大家可以帮助别人。
但是请给我您对此解决方案的评论,谢谢! Mybe 你想出了更优雅的解决方案! :-)
【问题讨论】:
-
在这里查看我的答案stackoverflow.com/a/34100978/1201322