我想在我的类库项目中添加对ScriptManager的引用而不是ClientScriptManager,是否可能?
答案 0 :(得分:10)
我假设您不知道如何在类库中引用ScriptManager
,而通常这些WebControls
未被引用。此外,我认为您还需要知道如何从类库中获取静态上下文中的页面引用。
要获得ScriptManager
,您必须在类库项目中添加对System.Web.Extensions
的引用。
要在静态上下文中获取对页面的引用,您需要添加System.Web
命名空间,然后返回当前页面的ScriptManager
:
C#:
var http = System.Web.HttpContext.Current;
if ((http != null)) {
var page = http.CurrentHandler as Web.UI.Page;
if (page != null) {
var scriptManager = System.Web.UI.ScriptManager.GetCurrent(page);
}
}
VB.NET:
Dim http = Web.HttpContext.Current
If Not http Is Nothing Then
Dim page = TryCast(http.CurrentHandler, Web.UI.Page)
If Not page Is Nothing Then
Dim scriptManager = System.Web.UI.ScriptManager.GetCurrent(page)
End If
End If