我试图找到使用 Ajax 加载用户控件的最佳实践。
我的第一种方法是简单地使用 UpdatePanel 并在 ajax 回发上使用 LoadControl() 弹出它,但这会在同一 UpdatePanel 中重新呈现其他加载的用户控件。另外,我无法拥有一组预定义的 UpdatePanel,因为我需要加载的 UserControl 数量会有所不同。
对于这种情况有什么最佳实践吗?
如果需要,我可以实现一个框架或某种类型的自定义控件(如果这是一个解决方案),但如果可能的话,我很乐意使用 ASP.NET 3.5 和 AjaxControlToolkit 来实现此目的。
可能有几十个高雅的原因不这样做,但简单地初始化一个页面,添加用户控件,然后执行并转储生成的 HTML,无论它在哪里,(在我简单的想法中)是如此令人心麻木的快&有趣的是我不得不提一下......
跳过 UpdatePanels,只需使用标签、普通的旧范围,或者首字母缩略词怎么样......
在客户端使用 JQuery:
$('#SomeContainer').Load("default.aspx?What=GimmeSomeSweetAjax");
服务器端:
if(Request.QueryString["What"]==GimmeSomeSweetAjax)
{
Page page = new Page();
Control control = (Control)LoadControl("~/.../someUC.ascx");
StringWriter sw = new StringWriter();
page.Controls.Add(control);
Server.Execute(page, sw, false);
Response.Write(sw.ToString());
Response.Flush();
Response.Close();
}
没有执行任何其他操作,页面的生命周期有一个真正的 Kevorkian 时刻;-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)