ASP.NET MVC 中动态更改主模板
我需要在我的应用程序(ASP.NET MVC)上支持不同的母版页。 推荐的方法是什么:
- 将母版页名称传递给视图。
- 存储母版页(在会话中或其他内容中),以便在用户访问期间保留它。
I have the requirement to support different Master pages on my application (ASP.NET MVC).
What is the recommended way to:
- Pass the master page name to the view from.
- Store the master page (in session, or something) so it sticks during a user's visit.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用自定义基本控制器并从中继承:
我在 global.asax Session_Start 中设置了 Session 变量:
Use a custom base controller and inherit from it instead:
I set my Session variable in the global.asax Session_Start:
您可以将母版页名称放入会话中,但会话不可靠。 我建议将其放入数据库中。
进入页面后,您可以通过访问 page.masterpagefile 更改/设置母版页。 它是一个字符串; 只需传入 .master 名称即可。
you could throw the master page name into the session, but sessions are unreliable. i'd recommend throwing it in a db instead.
once you're in the page, you can change/set the master page by accessing page.masterpagefile. it's a string; just pass the .master name in.
为什么不在用户个人资料中保留母版页?
然后只需在 PreLoad 事件上更改它即可。
http://www.odetocode.com/articles/440.aspx
Why not keep the Master Page on the user profile?
Then just change it on the PreLoad event.
http://www.odetocode.com/articles/440.aspx