2010-12-21 46 views
3

我在编辑模式中使用TinyMCE中的DetailView。详细信息查看和集成TinyMCE <%@ Page validateRequest =“false”%>

我想知道是否有可以防止请求验证触发错误

,而无需使用<%@ Page validateRequest="false" %>为我的网页的解决方案。

我发现目前的唯一方法是使用选项编码由TinyMCE的使用文本框:“XML”

tinyMCE.init({ 
     encoding: "xml", 

这样请求验证不会引发错误,但在时间来读取数据在文本框中的结果是编码。 我也尝试使用此代码,但并不如预期

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

结果上pageLoad的解码文本框的内容,所以我可以想像它只是编码的文本。

任何想法?由于

UPDATE


我找到了解决我的问题。 我_DataBound事件添加DetailsView控件的代码

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

所以在数据绑定事件,(应在岗位甚至工作后)的内容将被decodene的文本框TinyMCE的。

这里应该是如何工作的: -

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

02 - 数据已被存储为转义

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

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

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

但请给我你对这个解决方案的评论谢谢! Mybe你拿出更优雅的解决方案! :-)

+0

在这里看到我的答案http://stackoverflow.com/a/34100978/1201322 – Ravimallya 2015-12-05 03:40:46

回答

0

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

除非有你跨站点请求等等预见的问题,就没有必要根据其承担的“保护”

+0

嗨,感谢您的评论。但是我需要在编写数据库时编码所有数据,并根据请求对其进行解码。所以在我的情况下,我必须在TextBox中进行解码。此页面上的请求验证关闭意味着在Web.Config中更改我们的应用程序和应用程序的设置,这可能会造成一些安全风险。谢谢 – GibboK 2011-01-06 09:31:22

0

这个住所,也可以通过网页提交之前,从数据删除HTML标记来完成。

+0

请发表一个例子,如果你可以感谢 – GibboK 2011-01-20 09:05:05

0

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

Page_Load,如果它是一个回传必须测试 - >您更换myTextBox.Text通过HttpUtility.HtmlDecode(myTextBox.Text)

我尝试,它的工作...