如何解决使用母版页Asp.net MVC中的viewBag
| 我正在使用asp.net MVC开发网站 我想在用户登录网站后显示其名称。 问题是ѭ0返回用户电子邮件,我不想更改它,因为用户名不是唯一的。我想访问其他页面中的电子邮件。 我喜欢在母版页中使用viewBag,但不知道在哪里定义它。 如果我在ѭ1define中定义它,它仅适用于此操作。 我应该使用过滤器吗?解决方法
此链接将帮助您解决将数据传递到母版页的问题。
这是处理此问题的“官方”方法,它以非常清楚的方式进行了解释,但是我强烈建议您也完整地阅读第一个链接。
, 如果您使用的是MVC,则强烈建议您改用ViewModel模式来完成此操作,而不是将对象填充到ViewBag中,主要有两个原因:1)输入安全性,以及2)Intellisense支持。
在这种情况下,您将使MasterPage继承自BaseViewModel,并且您的操作将返回BaseViewModel的派生对象。然后,您可以在视图模型上设置数据,渲染时该数据将可用于母版页:
<%@ Master Language=\"C#\" Inherits=\"System.Web.Mvc.ViewMasterPage<MyViewModelBase>\" %>
或者,您可以制作一个“部分视图”,根据用户的状态仅呈现所需的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。