我可以使用下面的代码成功地动态添加一个用户控件。
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#的新手。当占位符或文字发生更改时,
发布于 2012-03-16 08:59:59
我不会使用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)。这将为您提供一个坚实的起点,了解如何在使用.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
https://stackoverflow.com/questions/9730160
复制相似问题