【发布时间】:2017-04-12 06:21:20
【问题描述】:
我编写这段代码是为了在 ASP 页面上使用 TinyMCE(javascript“富文本”编辑器)。 ASP 页面本身包含一个名为“art_content”的文本框,它会生成一个类似于“ctl00_hold_selectionblock_art_content”的 ClientID。
我遇到的一个问题是制作一个由我的应用程序存储的“安全”代码,并在我转到客户端时加载回 HTML,然后在提交(或回发)到之前返回到它的“安全”模式防止服务器端的 HTML 检查错误。
我的 Javascript 似乎工作正常,但我还是得到了错误。虽然函数正在触发,但它似乎不起作用。
救命!
tinymce.init
(
{
selector:'#ctl00_hold_selectionblock_art_content',
plugins:
['table link image textcolor pagebreak code visualblocks charmap'],
toolbar:
'bold,italic,underline'
}
);
function SafeCms(text,encode)
{
if(encode)
{
text=text.replaceAll('<','{{');
text=text.replaceAll('>','}}');
}
else
{
text=text.replaceAll('{{','<');
text=text.replaceAll('}}','>');
}
return text;
}
$(document).ready
(
function()
{
$('#ctl00_hold_selectionblock_art_content').val(SafeCms($('#ctl00_hold_selectionblock_art_content').val(),false));
$("form").submit
(
function()
{
tinymce.triggerSave();
$('#ctl00_hold_selectionblock_art_content').val(SafeCms($('#ctl00_hold_selectionblock_art_content').val(),true));
}
);
}
);
更新:服务器端(页面)出现错误
A potentially dangerous Request.Form value was detected from the client (ctl00$hold$selectionblock$art_content="<p>ab<em>acac</em>ac...").
CallStack:
[HttpRequestValidationException (0x80004005): Um valor possivelmente perigoso Request.Form foi detectado no cliente (ctl00$hold$selectionblock$art_content="<p>ab<em>acac</em>ac...").]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8818818
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111
System.Web.HttpRequest.get_Form() +129
System.Web.HttpRequest.get_HasForm() +8818919
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +63
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.content_quality_knownledges_aspx.ProcessRequest(HttpContext context) in c:\Users\Sammuel\AppData\Local\Temp\Temporary ASP.NET Files\root\a3cdd555\dbee70c6\App_Web_e_7yzdu3.2.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
【问题讨论】:
-
什么是“错误”?哪条线导致它?
-
我会更新我的问题:这是来自 ASP 网络的“HTTP VALIDATION ERROR”,因为呈现 TextBox 的 内部包含 HTML 代码
-
没有其他人吗?呵呵
标签: javascript jquery asp.net tinymce