Ajax HtmL编辑器图片上传JSON错误

Ajax HtmL Editor Image Upload JSON Error

本文关键字:JSON 错误 HtmL 编辑器 Ajax      更新时间:2023-09-26

我在我的页面上有一个AJAX htmleditoreextender,可以上传图像,但是当我尝试上传图像时,我得到以下错误:

JavaScript运行时错误:Sys。不能反序列化。数据不对应于有效的JSON。参数名称:data

我对错误做了一些研究,看到有些人说这可能是因为我使用查询字符串将参数传递到页面。我正在这样做,所以我删除了参数,错误仍然发生,还有其他原因导致这个错误发生吗?

完全相同的Html编辑器扩展器在我的另一个页面上工作。

我的HTML和c#如下:

<asp:HtmlEditorExtender ID="HtmlEditorExtender3" runat="server" TargetControlID="txtAdminAddNote" OnImageUploadComplete="MyHtmlEditorExtender_ImageUploadComplete">
            <Toolbar>
            <asp:InsertImage />
            </Toolbar>
            </asp:HtmlEditorExtender>
<asp:TextBox runat="server" ID="txtAdminAddNote" TextMode="MultiLine" Width="96%" Height="200px"></asp:TextBox>  
protected void MyHtmlEditorExtender_ImageUploadComplete(object sender, AjaxFileUploadEventArgs e)
    {
        string filePath = "~/Images/" + Path.GetFileName(e.FileName);
        var ajaxFileUpload = (AjaxFileUpload)sender;
        ajaxFileUpload.SaveAs(MapPath(filePath));
        e.PostedUrl = Page.ResolveUrl(filePath);
    }

这个问题在这里解决了:

从你的描述和错误信息,我认为你有

在初始不可见的Panel控件中添加htmleditoreextender控件。

对于上传图像文件,HtmlEditorExtender和AjaxFileUpload有相同的工作原理

如果有,请查看下面的链接。

http://ajaxcontroltoolkit.codeplex.com/workitem/27307

问题是HtmlEditorExtender控件顺便(它的父控件被设置为false) 不可见在上传的一个组成部分,因此没有正确处理。

HtmlEditorExtender控件移到任何可能不可见的父控件之外并测试此问题是否仍然发生