سلام

من قصد دارم که User بتونه Theme سایت رو تغییر بده. برای این کار من یه DropDownList در نظر گرفتم که نسبت به Item انتخاب شده Theme کل سایت تغییر میکنه.

Protected Sub btnChangeTheme_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.Session("Theme") = Me.ddlTheme.SelectedItem.Text
Me.Response.Redirect(Me.Request.Url.AbsoluteUri)
End Sub

و برای اینکه این تغییرات اعمال بشن یه کلاس بصورت زیر نوشتم.

Imports System

Public Class ThemeManager
Implements IHttpModule

Public Sub Dispose() Implements System.Web.IHttpModule.Dispose
End Sub

Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init

AddHandler context.PreRequestHandlerExecute, New EventHandler(AddressOf ChangeTheme)
End Sub

Private Sub ChangeTheme(ByVal sender As Object, ByVal e As EventArgs)

Dim pg As Page = TryCast(HttpContext.Current.Handler, Page)

If pg IsNot Nothing Then

'Dim pf As ProfileCommon = DirectCast(HttpContext.Current.Profile, ProfileCommon)
'pg.Theme = pf.Theme
'IO.File.ReadAllText(HttpContext.Current.Server.Ma pPath("Theme.dat"))
pg.Theme = HttpContext.Current.Session("Theme")
End If
End Sub
End Class


حالا مسئله اینجاست که چرا Theme تغییر نمی کنه؟! آیا روش کار درسته؟ لطفا" منو راهنمایی کنید.