详细信息查看并与TinyMCE集成<%@ Page validateRequest =“false”%>

时间:2010-12-21 12:24:31

标签: c# asp.net tinymce

我在编辑模式的 DetailView中使用TinyMCE

我想知道是否存在可以阻止请求验证触发错误的解决方案

不使用 <%@ Page validateRequest="false" %>访问我的网页。

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

tinyMCE.init({
        encoding: "xml",

这样,请求验证不会触发错误,但在读取TextBox中的数据时,结果是编码。 我还尝试使用此代码

在PageLoad上解码TextBox的内容
myTextBox.Text = HttpUtility.HtmlDecode(myTextBox.Text)

但结果并不像预期的那样,所以我只能将其想象成编码文本。

任何想法?感谢

更新


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

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

所以在DataBound事件上,(甚至应该在回发后工作)内容将是文本框的解码内容。

这里应该如何运作:

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

02 - 数据已存储为ESCAPED

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

04 - 您可以在编辑模式下修改文本框中的内容。在帖子后面,TinyMCE将使用编码再次编码:“xml”依此类推

希望大家可以帮助其他人。

但请在此解答我的评论,谢谢! Mybe你想出更优雅的解决方案! : - )

3 个答案:

答案 0 :(得分:0)

我个人只是关闭此页面的请求验证。

除非您有跨网站请求等问题,否则不需要在其假设的“保护”下进行庇护

答案 1 :(得分:0)

这也可以通过在页面回发之前从数据中删除html标记来完成。

答案 2 :(得分:0)

问题是:
当PostBack到达时,TinyMCE重新编码textarea的内容。 要解决此问题,解决方案比解释更容易...

Page_Load中,您必须测试它是否为PostBack - &gt;您可以将myTextBox.Text替换为HttpUtility.HtmlDecode(myTextBox.Text)

我试试,这是工作......