2009-09-30 44 views
0

我想根据浏览器类型分配一个主题。我想在基类中做到这一点,所以它只需要在一个地方(我正在使用母版页)。我编码以下,但这里的“OnLoad”在“Page_PreInit”之前执行。这需要在Page_PreInit中进行,但为什么它不会触发?如何使用母版页在基类中分配主题?

Imports Microsoft.VisualBasic 

Public Class MyBaseClass 
Inherits System.Web.UI.Page 

Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) 
    'Assign the CSS Theme based on the Browser Type 
    If (Request.Browser.Type = "IE8") Then 
     Page.Theme = "Standard-IE8" 
    Else 
     Page.Theme = "Standard" 
    End If 
End Sub 

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 

    MyBase.OnLoad(e) 
End Sub 

End Class 

然后,我有我的登录页面编码,以继承基类:

Partial Class Login 
'Inherits System.Web.UI.Page 
Inherits MyBaseClass 

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

谢谢 詹姆斯

回答

1

您需要覆盖OnPreInit基类。

Protected Overrides Sub OnPreInit(ByVal e As System.EventArgs) 
     'Assign the CSS Theme based on the Browser Type 
     If (Request.Browser.Type = "IE8") Then 
      Page.Theme = "Standard-IE8" 
     Else 
      Page.Theme = "Standard" 
     End If 
     MyBase.OnPreInit(e) 
    End Sub 

对使用​​自定义的基类的更多信息,请here

+0

这是一个胜利者。谢谢一堆! – James 2009-09-30 02:58:49