gpt4 book ai didi

c# - 使用 Ajax 加载用户控件

转载 作者:行者123 更新时间:2023-11-30 13:35:22 25 4
gpt4 key购买 nike

我试图找到使用 Ajax 加载用户控件的最佳实践。

我的第一种方法是简单地使用 UpdatePanel 并在 ajax 回传上使用 LoadControl() 弹出它,但这会在同一个 UpdatePanel 中重新呈现其他加载的用户控件。此外,我不能有一组预定义的 UpdatePanel,因为我需要加载的 UserControl 的数量会有所不同。

是否有针对此类场景的最佳实践?

如果需要,我可以实现一个框架或某种类型的自定义控件(如果这是一种解决方案),但如果可能的话,我很乐意使用 ASP.NET 3.5 和 AjaxControlToolkit 来实现这一点。

最佳答案

可能有许多不这样做的高雅理由,但只是简单地初始化一个页面,添加用户控件,然后执行并将生成的 HTML 转储到任何你认为合适的地方,(在我简单的观点中)如此介意 - NumPy 的快速和有趣,我不得不提一下......

跳过 UpdatePanel,只需使用一个标签、一个普通的旧跨度,或者一个首字母缩略词怎么样...

在客户端使用 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 时刻;-)

关于c# - 使用 Ajax 加载用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com