【问题标题】:UpdatePanel, Placeholder, User Control loaded by Ajax post由 Ajax 帖子加载的 UpdatePanel、占位符、用户控件
【发布时间】:2012-03-16 00:23:39
【问题描述】:

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

ASPX:

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

代码背后:

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

现在我想加载用户以响应按钮单击。我有通过 ajax post 提交表单的代码。

$(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# 的新手。当占位符或文字发生更改时,我 w

【问题讨论】:

  • 您好,如果您发现我的回答有帮助,如果您能将其标记为已接受的答案,那就太好了。谢谢!如果没有,请告诉我如何改进它,我很乐意这样做。

标签: c# asp.net updatepanel


【解决方案1】:

我会使用内置的 ASP.NET AJAX,而不是使用 jQuery 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)提交。这应该为您在使用 .NET AJAX 样式后如何实现目标提供一个坚实的起点。

<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

【讨论】:

    【解决方案2】:

    UserControls (ASCX) 在服务器端呈现期间附加到页面,并且无法像标准 HTML 元素那样使用 Javascript 创建。我建议使用包含标准 HTML 元素的 div 而不是用户控件,并在适用时使用 Javascript 库(如 Jquery)创建此 div 的副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-11
      • 2011-02-08
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多