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

时间:2014-06-10 16:06:35

标签: c# javascript ajax json

我的页面上有一个AJAX HtmlEditorExtender,可以选择上传图片,但是当我尝试上传图片时,我收到以下错误:

JavaScript运行时错误:Sys.ArgumentException:无法反序列化。数据与有效的JSON不对应。 参数名称:data

我已经对错误做了一些研究,看到有人说这可能是因为我使用查询字符串将参数传递到页面。我这样做是因为我删除了参数并且错误仍在发生,是否还有其他原因会发生此错误?

完全相同的Html Editor Extender适用于我的另一个页面。

我的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);
    }

1 个答案:

答案 0 :(得分:1)

这个问题是solved here(我引用):

  

根据您的描述和错误消息,我认为您有   最初不可见的Panel控件中的HtmlEditorExtender控件。

     

对于上传图像文件,HtmlEditorExtender和AjaxFileUpload都有   同样的工作原则。

     

如果是,请查看以下链接。

     

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

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

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