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

标签 c# javascript ajax json

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

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

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

完全相同的 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);
    }

最佳答案

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

From your description and error message, I think you have the HtmlEditorExtender control in an initially invisible Panel control.

For uploading image file, HtmlEditorExtender and AjaxFileUpload have the same working principle.

If so, please check below link.

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

问题是 HtmlEditorExtender 控件顺便(它的父控件被设置为 false)不可见上传,因此未正确处理。

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

关于c# - Ajax HtmL 编辑器图片上传 JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145798/

相关文章:

c# - 我可以使用通用约束来启用参数化构造函数吗?

c# - NumberFormatInfo 不删除小数

javascript - 弹出窗口中的 Tinymce 插入/编辑图像字段在 vuetify 的对话框中不可编辑(聚焦)

javascript - 从 api 调用 json 数据

javascript - AJAX 列表更新,获取新元素并计数

javascript - 如何使用 Ajax 和 Servlet 上传文件

c# - 模型或ViewModel中的MVVM计算字段?

javascript - 从 JavaScript 加载的树中的自定义样式 Kendo Treeview 节点文本

ajax - MVC3 WebGrid 在使用过滤器排序或分页后消失

c# - 委托(delegate)(Lambda 表达式)与接口(interface)和抽象类