好的,我正在制作一些JQuery版本的AJAXToolkit控件(我们遇到了工具包的问题),并希望在页面上有一个共同版本的脚本。
为此,我打算使用JQueryControlManager控件,并使用它来动态插入脚本,最好只使用页面上控件所需的脚本。
有没有人知道一种有效的方法:
OR
有没有人建议更好的解决方案?
答案 0 :(得分:1)
对于特定的脚本,ASP.NET已经有一个很好的ScriptManager类,它支持你要做的事情。呼叫
Page.ClientScript.RegisterClientScriptInclude(key, url);
来自您的控件,每个脚本都有一个唯一的键,框架将负责避免重复。 ClientScriptManager
上还有其他类似的方法可能有用。
如果您仍然需要创建ControlManager的实例,您可以只是枚举Page.Controls
集合,寻找该类型的控件,即。
public ControlManager GetControlManager()
{
foreach (Control control in Page.Controls)
{
if (control is ControlManager)
return (ControlManager)control;
}
ControlManager manager = new ControlManager();
Page.Controls.Add(manager);
return manager;
}
或您可以尝试将ControlManager实例存储在Page.Items
字典中。
警告:我没有测试过此代码,因此将其视为伪代码。