如题,现在做个系统,需要根据登录的不同角色给定不同的权限,生成不同的菜单,现在不知道如何给母版页传参,网上说的ViewBag啊啥的看不懂啊,求大神贴几句关键代码啊
MVC中叫布局页(_Layout.cshtml) 。只需要在具体的页面中 {ViewBag.Title="Index Page"},然后在布局页中使用: @ViewBag.Title 即可。
这个具体页面是指什么?比如我有个登录页面,后台判定登录人员权限为1,然后把这个1传递给母版页,在母版页接收后显示权限为1的菜单....刚入行不久哈..请多说点...谢谢~
@姚刘乐: 那登录页就是具体页面。
这种东西呢,如果不理解,就不要理解先。
动手试验就知道了,你可以不理解的。
恩啊,我在试哈,这是在登录页面写的,这个oo可以取到值
<script type="text/javascript"> var oo = "@ViewBag.oo"; alert(oo); </script>
可是在母版页这样写是获取不到的哎╮(╯▽╰)╭
<script type="text/javascript">
alert("@ViewBag.xo");
</script>
1、第一种方式你可以用ViewBag,或者用TempData都可以的。但是这不是最好的解决方案。
2、你可以把权限部分单独做个Action 页面,在Action页面控制好页面的权限菜单等等,然后在母版页里用Html.Action引入这个单独的Action页面即可。
3、你可以封装一个Context,然后直接可以在模板页中获取菜单权限。可以参考:
http://www.cnblogs.com/emrys5/p/asp-net-mvc-1.html
4、还有就是你也可以每次菜单单独用ajax加载也是可以的。
以上都可以解决你问的问题。。。
用session