这实际上是一个两部分的问题。首先,HttpContext. Current 是否对应于当前 System.UI.Page 对象?
第二个问题,可能和第一个问题有关,为什么我不能使用下面的方法来查看当前页面是否实现了一个接口:
private IWebBase FindWebBase()
{
if (HttpContext.Current as IWebBase != null)
{
return (IWebBase)HttpContext.Current.;
}
throw new NotImplementedException("Crawling for IWebBase not implemented yet");
}
一般情况下,有些控件需要知道它们是作为 SharePoint Web 部件执行,还是作为 Asp 的一部分执行。网络架构。
我已经通过要求控件传递对其自身的引用并检查控件的 Page 属性来解决这个问题,但是我仍然很好奇为什么上述方法不起作用。
编译器错误是: 无法转换系统。韦伯。通过引用转换、装箱转换、取消装箱转换、包装转换或空类型转换将 HttpContext 转换为... IWebBase。