更新面板,占位符,用户控件由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
我不使用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的副本。