gpt4 book ai didi

asp.net - 将脚本管理器引入动态呈现的页面

转载 作者:行者123 更新时间:2023-12-01 12:00:08 26 4
gpt4 key购买 nike

我们像这样动态地呈现用户控件:

public string RenderControl(string pathcontrol)
{
string html;

var page = new Page();
var control = page.LoadControl(path);
page.Controls.Add(control);

// do stuff to the control (give it some data to work on)

using (var writer = new StringWriter())
{
HttpContext.Current.Server.Execute(page, writer, false);
html = writer.ToString();
}

return html;
}

这让我们在正常呈现页面时使用相同的用户控件,就像我们在呈现对 ajax 调用的响应时一样。但是,当添加本身包含 scriptmanagerProxy 的控件时,我们会遇到一个问题,即新的 Page 对象既不包含 ScriptManager 也不包含 ScriptManager 需要在其中运行的 HtmlForm。

有什么办法解决这个问题吗?

你的安德烈亚斯

最佳答案

正如其他人所说,您可以很容易地动态添加 ScriptManger [ Add ScriptManager to Page Programmatically?如果您的Page 对象是完整的。

你可以尝试使用 BuildManager.CreateInstanceFromVirtualPath()改为创建 Page 对象?您的问题可能是如何创建该对象。创建新页面比更新 Page 对象要多一些。

例如。

Page page 
= BuildManager.CreateInstanceFromVirtualPath("~/Test.aspx", typeof(Page))

另见 http://www.west-wind.com/weblog/posts/120530.aspx了解更多背景知识。

关于asp.net - 将脚本管理器引入动态呈现的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630854/

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