更新面板,占位符,用户控件由Ajax帖子加载

本文关键字:Ajax 加载 用户 占位符 更新 控件 | 更新日期: 2023-09-27 18:27:53

我可以使用以下代码成功地动态添加用户控件。

ASPX:

<asp:PlaceHolder ID="PlaceHolder1" runat="server" />

代码背后:

UserControl uc = (UserControl)Page.LoadControl
("~/App_Controls/Site/Player/PlayerProfile2.ascx");
PlaceHolder1.Controls.Add(uc);

现在我想加载用户以响应按钮点击。我有一段代码可以通过写ajax帖子来提交表单。

$(document).ready(function () {
    var options =
    {
        success: showResponse,
        url: "/Default.aspx",
        type: "post"
    };
    $('#btnClick').click(function () {
        $("form").ajaxSubmit(options);
        return false;
    });
});
function showResponse(responseText, statusText, xhr, $form) 
{
    alert(responseText);
}
<asp:Button ID="btnClick" ClientIDMode="Static" runat="server" Text="Click" />
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
<asp:Literal ID="litText" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>

我是C#的新手。当占位符或文字被更改时,I w

更新面板,占位符,用户控件由Ajax帖子加载

我不使用jQuery AJAX,而是使用内置的ASP.NET AJAX;它将为您提供更简单的体验。http://weblogs.asp.net/sanjeevagarwal/archive/2008/07/22/Dynamically-create-ASP.NET-user-control-using-ASP.NET-Ajax-and-Web-Service.aspx.通过在UpdatePanel中移动按钮,按钮生成的任何PostBack都将被.NET框架截获,并作为部分回发(使用AJAX)提交。这将为您提供一个坚实的起点,让您了解如何使用.NETAJAX风格来实现您所追求的目标。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="btnClick" ClientIDMode="Static" runat="server" Text="Click" />
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
<asp:Literal ID="litText" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>

在CodeBehind文件中,可以使用IsPostBack有条件地显示或隐藏用户控件。

然而,如果你更愿意坚持你目前的方法,这个博客有一个很好的例子,它比我在这里键入的更完整:http://www.aspsnippets.com/Articles/Dynamically-load-and-display-ASPNet-UserControl-using-jQuery-AJAX-and-WebMethod.aspx

UserControls(ASCX)在服务器端渲染期间附加到页面,不能像标准HTML元素那样使用Javascript创建。我建议使用包含标准HTML元素的div,而不是用户控件,并在适用时使用Jquery等Javascript库来创建该div的副本。