Bu aslında iki bölümden oluşan bir sorudur. İlk olarak, HttpContext.Current geçerli System.UI.Page nesnesine karşılık geliyor mu?
Muhtemelen ilkiyle ilgili olan ikinci soru, şu anki sayfanın bir arayüz uygulayıp uygulamadığını görmek için neden aşağıdakileri kullanamıyorum:
private IWebBase FindWebBase()
{
if (HttpContext.Current as IWebBase != null)
{
return (IWebBase)HttpContext.Current.;
}
throw new NotImplementedException("Crawling for IWebBase not implemented yet");
}
Genel bağlam, bazı kontrollerin bir SharePoint web bölümü olarak mı yoksa bir Asp.Net çerçevesinin bir parçası olarak mı yürütüldüğünü bilmek zorunda olmasıdır.
Kontrolün kendisine bir referans vermesini zorunlu kılarak ve kontrolün Sayfa özelliğini kontrol ederek sorunu çözdüm, ancak yine de yukarıdakilerin neden çalışmadığını merak ediyorum.
Derleyici hatası: System.Web.HttpContext, bir referans dönüştürme, kutulama dönüşümü, kutudan çıkarma dönüşümü, sarma dönüşümü veya boş tip dönüşümü yoluyla ... IWebBase'e dönüştürülemiyor.