在ASP.NET MVC中动态更改主模板

pgb*_*pgb 5 asp.net-mvc master-pages

我需要在我的应用程序(ASP.NET MVC)上支持不同的母版页.建议的方法是:

  1. 将主页面名称传递给视图.
  2. 存储母版页(在会话中或其他内容),以便在用户访问期间粘贴.

Sle*_*lee 9

使用自定义基本控制器并从中继承:

Public Class CustomBaseController
    Inherits System.Web.Mvc.Controller

    Protected Overrides Function View(ByVal viewName As String, ByVal masterName As String, ByVal model As Object) As System.Web.Mvc.ViewResult

       Return MyBase.View(viewName, Session("MasterPage"), model)

    End Function

End Class
Run Code Online (Sandbox Code Playgroud)

我在global.asax Session_Start中设置了Session变量:

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)

//programming to figure out your session
Session("MasterPage")="MyMasterPage"

End Sub
Run Code Online (Sandbox Code Playgroud)