c# - 使用 JQuery 添加用户控件时出现 "Error executing child request for handler ' System.Web.UI.Page '."

标签 c# javascript jquery asp.net user-controls

我正在使用 JQuery 动态加载 ASP.NET 用户控件:

function OnSuccess(response) {
    var xmlDoc = $.parseXML(response.d);
    var xml = $(xmlDoc);
    pageCount = parseInt(xml.find("PageCount").eq(0).find("PageCount").text());
    var topics = xml.find("Topics");
    topics.each(function () {
        var table = $("#dvTopics table").eq(0).clone(true);

        var customer = $(this);
        $.ajax({
            type: "POST",
            url: "TopicList.aspx/LoadUserControl",
            data: "{message: '" + topics.find("desid").text() + ",'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                table.append(r.d);
            }
        });
        $("#dvTopics").append(table).append("<br />");

    });

    $("#loader").hide();
}

用户控制代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TopicRow.ascx.cs" Inherits="TopicRow" %>
<link rel="stylesheet" type="text/css" href="Styles/Global.css" />
<asp:Panel ID="Panel1" runat="server" BorderColor="Maroon" Width="600px" style="margin:0">

            <asp:LinkButton ID="Title" runat="server" Font-Bold="True" Font-Names="Segoe UI Semibold,Segoe UI Light, Tahoma, Geneva, Verdana, sans-serif" Font-Overline="False" ForeColor="Maroon" Text="This is a test title." Font-Size="Larger"></asp:LinkButton>

            <br />

    <asp:Label ID="lblAuthor" runat="server" Text="By: Aishwarya Shiva Pareek" Font-Size="Medium" ForeColor="#666666" Font-Names="Segoe UI Light, Tahoma, Geneva, Verdana, sans-serif"></asp:Label>

        <br />
    <br />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate><div style="float:right; height:32px; width:32px"><asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
            <ProgressTemplate>
                <img alt="Working..." class="auto-style5" src="Images/ajaxloader.gif" width="32px" height="32px" />
            </ProgressTemplate>
        </asp:UpdateProgress></div>
            <div style="font-family:Segoe UI Light, Tahoma, Geneva, Verdana, sans-serif">
        Upvoted By
        <asp:Label ID="lblUp" runat="server" Text="23"></asp:Label>
        &nbsp;| Down voted By
        <asp:Label ID="lblDown" runat="server" Text="2"></asp:Label>
            <br />
            <asp:LinkButton ID="lnkUp" runat="server" ForeColor="#003300" OnClick="lnkSupport_Click">Up Vote</asp:LinkButton>
            &nbsp;
            <asp:LinkButton ID="lnkDown" runat="server" ForeColor="Red">Down Vote</asp:LinkButton>
            &nbsp;
            <asp:LinkButton ID="lnkAddComment" runat="server" ForeColor="Maroon">Add Comment</asp:LinkButton></div>
        </ContentTemplate>
    </asp:UpdatePanel>
    <hr style="color:maroon;"/>
</asp:Panel>

添加用户控件的 C# 代码:

public static string LoadUserControl(string message)
    {
        using (Page page = new Page())
        {
            UserControl userControl = (UserControl)page.LoadControl("TopicRow.ascx");
            (userControl.FindControl("Title") as LinkButton).Text = message;
            page.Controls.Add(userControl);
            using (StringWriter writer = new StringWriter())
            {
                page.Controls.Add(userControl);
                HttpContext.Current.Server.Execute(page, writer, false);
                return writer.ToString();
            }
        }
    }

但是在 HttpContext.Current.Server.Execute(page, writer, false); 行其显示:Error executing child request for handler 'System.Web.UI.Page'.异常(exception)。可能是什么原因?

最佳答案

没有json来自 LoadUserControl 的回复服务器端脚本,需要使用json响应。

关于c# - 使用 JQuery 添加用户控件时出现 "Error executing child request for handler ' System.Web.UI.Page '.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078852/

相关文章:

c# - 使用 Entity Framework 的自引用树的最有效方法

javascript - 如何比较 JSON 数组并分配固定值

javascript - Jquery本地存储。它在哪里?

javascript - 如何通过比较id来合并三个不同的数组?在 Angular 6

javascript - 动态创建按钮的点击事件

javascript - 根据点击获取 'top' 和 'right' 位置

c# - 我正在尝试创建 GOST 3410 公钥。 CKR ATTRIBUTE_TYPE INVALID 异常

c# - 只有 1 个进程显示事件并行 foreach

javascript - 根据下拉选择显示 div

c# - 将其传递给基础构造函数