如何创建通用类,其中包含" System.Web.UI.Page"和#34; System.Web.UI.UserControl"?

时间:2015-11-13 08:16:56

标签: c# generics

我有一个通用类

public class BasePage<T>
{
    public BasePage() { }
    public BasePage(T _info) { PageBase = _info; }
    public T PageBase { get; set; }
}

我有2个类继承自BasePage类

public class PageClass : BasePage<System.Web.UI.Page> {}
public class UserControlClass : BasePage<System.Web.UI.UserControl> {}

在UserControlClass类中,一切都没有问题,但在PageClass类中遇到问题我无法使用ViewState。 示例:

private void Page_Load(object sender, System.EventArgs e)
{
   ViewState["AntiXsrfTokenKey"] = PageBase.Page.ViewStateUserKey;
   ViewState["AntiXsrfUserNameKey"] = Context.User.Identity.Name
}

为什么它不存在?

  

名称&#39; ViewState&#39;在当前上下文中不存在

1 个答案:

答案 0 :(得分:0)

更改

   ViewState["AntiXsrfTokenKey"] = PageBase.Page.ViewStateUserKey;
   ViewState["AntiXsrfUserNameKey"] = Context.User.Identity.Name;

PageBase.ViewState["AntiXsrfTokenKey"] = PageBase.Page.ViewStateUserKey;
PageBase.ViewState["AntiXsrfUserNameKey"] = Context.User.Identity.Name;