嗨我有mvc网站,我使用的布局是一致的外观和感觉。现在我的菜单是根据用户角色,级别等动态生成的。我已将菜单放在布局页面上。当用户登录菜单根据其角色从数据库生成时。当用户点击菜单时,它会加载布局中的currosponding视图,但它还刷新布局页面因为所有视图都有布局,所以菜单也会重新生成cousing databse trip。我应该如何避免菜单重装?我不想使用ajax加载布局页面中的视图因为后退按钮doesent工作和新选项卡加载页面没有布局。请帮忙
答案 0 :(得分:1)
我所做的是使用ajax.and在布局中的div中没有布局的页面 在viewstart.chtml中 以下是
布局= Request.IsAjaxRequest()? null:“〜/ Views / Shared / _Layout.cshtml”;
所以当请求是通过链接(在新窗口中)时,视图将随布局页面一起提供(这解决了新的选项卡问题)。
2)对于使用jquery.address插件的浏览器的后退按钮。
答案 1 :(得分:0)
会话变量的常见用途是存储用户及其角色,级别等。这可能会也可能不会避免数据库往返,具体取决于您存储会话的位置。例如,“InProc”会话状态(默认值)存储在内存中,因此访问速度非常快。请参阅:Which one is better, InProc or SQL Server, for Session State mode in asp.net?