我正在ASP.NET 3.5上创建一个应用程序。在我的应用程序中,我创建了一个管理SEssion信息的类,因此所有Web form (.aspx) pages
和User Controls (.ascx) pages
都将扩展我的自定义类以访问会话信息。
这是我的自定义类
public class ManageSession<T> : System.Web.UI.Page
{
private const string SESSION_NAME = "NewSession";
public T SessionData
{
get
{
T sessionImp = (T)Convert.ChangeType(Session[SESSION_NAME],typeof(T));
if (sessionImp == null )
System.Web.HttpContext.Current.Response.Redirect("~/index.aspx");
return sessionImp;
}
set
{
Session[SESSION_NAME] = value;
}
}
public T ViewStateData
{
get
{
T sessionImp = (T)Convert.ChangeType(ViewState[SESSION_NAME], typeof(T));
return sessionImp;
}
set
{
ViewState[SESSION_NAME] = value;
}
}
}
现在我已经创建了一个BasePage类,我将在每个页面类上进行扩展。
public class BasePage : ManageSession<UserSession>
{
}
在我的Default.aspx
页面上,我将如何扩展BasePage类以使用会话信息。
public partial class _Default : BasePage
{
this.SessionData // till here everything is fine, I am able to access SessionData Property of my MySession<> class.
}
但是当我尝试在UserControl中扩展BasePage类时,我收到错误并且无法扩展UserControl的BasePage类。
// This MyControl is basically a Web User Control, Initially extended from System.Web.UI.UserControl
public partial class MyControl: BasePage
{ }
当我执行应用程序时,这就是我得到的错误
&#39; MyControls&#39;这里不允许,因为它没有扩展类 &#39; System.Web.UI.UserControl&#39;
如何将我的BasePage
类用于ASPX页面和UserCOntrols?或者请指导我任何其他解决方案?