2011-08-08 19 views

cevap

9

Normalde bu WebControls başvurulan bir sınıf kitaplığında ScriptManager başvuruda nasıl bilmiyorum bilmiyorum. Üstelik, ayrıca, kitaplığa statik bir bağlamda sayfaya nasıl başvurulacağını da bilmeniz gerektiğini düşünüyorum.

ScriptManager'u almak için, sınıf kitaplığı projenize System.Web.Extensions referansı eklemeniz gerekir.

sonra döndürür geçerli sayfanın ScriptManager ardından, System.Web ad eklemeniz gerekir statik bağlamda sayfasına bir referansı almak için:

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 
+0

Tamam! Teşekkürler! Ama bir problemim var, bu şekilde RegisterClientScriptBlock yöntemini kullanamıyorum. Neden biliyor musun? –

+0

RegisterClientScriptBlock yöntemi statik/paylaşımlıdır. Bu yüzden çalışır: 'System.Web.UI.ScriptManager.RegisterClientScriptBlock (sayfa, sayfa.GetType," ScriptKey "," YourScript ", True)' –

+0

Tamam! Çok teşekkür ederim! –

İlgili konular