asp.net-mvc - 在ASP.NET MVC中动态更改主模板

标签 asp.net-mvc master-pages

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

  • 将母版页名称传递给 View 。
  • 存储母版页(在 session 中或其他内容),以使其在用户访问期间停留。
  • 最佳答案

    使用自定义基本 Controller 并从其继承:

    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
    

    我在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
    

    关于asp.net-mvc - 在ASP.NET MVC中动态更改主模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/272313/

    相关文章:

    asp.net-mvc - 如何在 ASP.net MVC 3 View 中包含纯 HTML 或经典 ASP 文件的内容?

    asp.net - 自动清理 HttpRequestValidationException 上的条目

    c# - 如何在母版页中创建创建变量/属性,并让子页面访问它们?

    asp.net - 有没有一种简单的方法可以从 .NET 用户控件中删除 "ct100"前缀?

    .Net Core/DNX 和 WebApi 压缩

    jquery - 如何使用 JQuery 启用/禁用基于单选按钮的文本框

    css - 了解在 SharePoint 母版页中引用 CSS 文件的 url

    c# - 为什么 CSS 无法解析母版页上相关链接中的 ~ 符号?

    c# - 如何使用查询字符串和哈希重定向到另一个 Controller ?

    c# - 扩展方法不会在 Razor 中显示