ASP.NET - 在类库引用中使用ScriptManager

时间:2011-08-08 20:42:51

标签: c# asp.net

我想在我的类库项目中添加对ScriptManager的引用而不是ClientScriptManager,是否可能?

1 个答案:

答案 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