我正在尝试在web表单中实现Ajax控件工具包htmleditorexteder,但我得到了以下错误:
0x800a139e - JavaScript runtime error: Sys.ArgumentException: Cannot deserialize empty string.我不知道这个错误是怎么发生的,也不知道为什么。我在网上搜索的尝试没有成功。如果你能给我任何建议,我将不胜感激。
此外,对齐按钮似乎不起作用。当我切换到“代码”视图时,它会显示“对齐”属性,但不会将文本对齐到右边或中间,不确定原因。
我的aspx:
<ajaxToolkit:HtmlEditorExtender EnableSanitization="true" ID="HtmlEditorExtender1" OnImageUploadComplete="HtmlEditorExtender1_ImageUploadComplete" DisplaySourceTab="true" TargetControlID="txtPost" runat="server">
<Toolbar>
<ajaxToolkit:Undo />
<ajaxToolkit:Redo />
<ajaxToolkit:Bold />
<ajaxToolkit:Italic />
<ajaxToolkit:Underline />
<ajaxToolkit:StrikeThrough />
<ajaxToolkit:Subscript />
<ajaxToolkit:Superscript />
<ajaxToolkit:InsertOrderedList />
<ajaxToolkit:InsertUnorderedList />
<ajaxToolkit:CreateLink />
<ajaxToolkit:UnLink />
<ajaxToolkit:RemoveFormat />
<ajaxToolkit:BackgroundColorSelector />
<ajaxToolkit:ForeColorSelector />
<ajaxToolkit:FontSizeSelector />
<ajaxToolkit:Indent />
<ajaxToolkit:Outdent />
<ajaxToolkit:InsertImage />
</Toolbar>
</ajaxToolkit:HtmlEditorExtender>
<asp:TextBox ID="txtPost" runat="server" BackColor="White" CssClass="form-control" TextMode="MultiLine" Rows="30"></asp:TextBox>我的代码背后是:
protected void HtmlEditorExtender1_ImageUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
string fullPath = "~/images/postAssets/" + e.FileName;
// Save upload file to the file system
HtmlEditorExtender1.AjaxFileUpload.SaveAs(MapPath(fullPath));
e.PostedUrl = Page.ResolveUrl(fullPath);
}编辑:
我试着补充:
<httpHandlers>
<add verb="*" path="AjaxFileUploadHandler.axd"
type="AjaxControlToolkit.AjaxFileUploadHandler,
AjaxControlToolkit"/>
</httpHandlers>正如其中一个答案所建议的,但我得到了以下错误:
HTTP Error 500.23 - Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
Most likely causes:
•This application defines configuration in the system.web/httpHandlers section.调试时,onImageUploadComplete事件不会被触发,但我不知道为什么。
我仍然被困在这个家伙身上,所以任何帮助都会让我非常感激,我完全不知所措。
终于有了好消息:)
我终于得到了形象的工作!耶!我将以下内容添加到我的web.config文件中:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="4294967295"/>
</requestFiltering>
</security>
<httpHandlers>
<add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>然而,
文本对齐按钮仍然只向左对齐,生成html,如下所示:
<p align="right">This is some test</p>但实际上它并没有将文本与右边对齐?不管怎么说,我是否可以改变它,这样它就会产生:
<p style="text-align:right">This is some text</p>如果我手动输入html,我可以通过使用html的上面一行使其对齐,但是将使用该表单的人对html和css没有任何了解,并且对学习没有兴趣。这就是为什么我一开始就用这个控件。此外,是否有一种方法可以让它在任何编辑之前自动将以下内容添加到文本框中,以便所有用户输入?:
<div class="row"><div class="col-sm-12">
<!-- html editor extender content goes here -->
</div></div>我的最后一个请求并不那么重要,但是文本对齐按钮是非常重要的,所以我肯定需要这些工作。
发布于 2015-10-26 17:48:46
您需要为此添加配置设置。你可以这样做..。
<system.web>
....
<httpHandlers>
<add verb="*" path="AjaxFileUploadHandler.axd"
type="AjaxControlToolkit.AjaxFileUploadHandler,
AjaxControlToolkit"/>
</httpHandlers>
您可以从这个链接中了解相同的问题在不同的控件中发生的情况。
在这篇文章中,它更好地解释了它。
希望这能帮到你。
谢谢
https://stackoverflow.com/questions/33347954
复制相似问题