1、在过滤器中,用ViewBag类似的东西,要((ViewResult)filterContext.Result).ViewBag。

2、Controller中自己定义的非Action方法中(包括构造方法),使用不了Session,这时获取不到Session。可以使用ViewData、ViewBag存数据。

3、权限验证及菜单读取

  我想在BaseController中,根据Session用户角色读取加载菜单,在权限过滤器中验证是否登录,在Action过滤器中验证每次请求是否合法。但这样是不行的,因为在BaseController中没法获取到Session,包括构造方法中,并且权限过滤器中也是在BaseController中构造方法之后运行的。各Controller中的只有Index页面,才进行菜单获取,其他Action是不进行菜单获取的。因此,菜单获取的方法不能放在BaseController中,只能放在Action过滤器中。验证登录和权限,是要求每个Action都要进行的操作,因此这个可以放在使用BaseController解决,这样只需要给BaseController加上权限过滤器就可以了,其他Controller只需要继承就行了。

4、前端页面使用Shared页面,加载各个部分

  _ViewStart中,如果页面中不指定Layout = null;,页面都会先加载_ViewStart中定义的布局页。使用@Html.Partial加载,指定的其他布局页,比如菜单页、头部、底部等不变的分布页。使用@RenderBody(),加载各个View视图页。

5、动态加载添加编辑页面导致的jquery validate验证是问题

  https://stackoverflow.com/questions/18634629/jquery-validation-on-modal-popup

  只能在,点击保存的时候加上验证,其他地方都不行,并且还必须要加上 $('#myModal form').valid(),方法验证才会显示验证错误信息。返回true才执行下一步。

6、添加和修改要分开,因为要具体的权限管理,有的角色可能只要添加

7、在js中使用C# MVC代码,再穿插使用js代码

  使用<text></text>标签包裹js代码,这样就会使转换器返回到html模式。如:

 function btnFormatter(value, row, index) {
var btns = "";
@if (currentMenuModel.actionUrls.Exists(t => t.Equals("Edit", StringComparison.OrdinalIgnoreCase)))
{
<text>btns += '<button type="button" class="btn btn-info" onclick="edit(\'' + row.id + '\')">修改</button>&nbsp;'</text>
}
@if (currentMenuModel.actionUrls.Exists(t => t.Equals("Delete", StringComparison.OrdinalIgnoreCase)))
{
<text>btns += '<button type="button" class="btn btn-danger" onclick="del(\'' + row.id + '\')">删除</button>'</text>
}
return btns;
}

最新文章

  1. iOS用户信息单例的创建
  2. Python基于pandas的数据处理(一)
  3. Java虚拟机3:常用JVM命令参数
  4. ZOJ 3201 Tree of Tree
  5. iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
  6. Decorator
  7. iOS 推荐学习__bridge等ARC知识的好资料
  8. [转]【android studio】解决layout预览出现Rendering Problems Exception Unable to find the layout for Action Bar.
  9. CentOS 6 DEPRECATED
  10. Pet(hdu 4707 BFS)
  11. CTE递归 MAXRECURSION 遇到的问题
  12. linux 下tomcat的安装
  13. 某jiub笔试
  14. php 默认保几位小数,末尾为0去掉
  15. MySQL常用SQL语句/函数/存储过程
  16. 如何解决python连接数据库编码问题(python传数据到mysql乱码)&#39;ascii&#39; codec can&#39;t encode _mysql_exceptions.OperationalError: (1366, &quot;Incorrect string value:?
  17. 005.MySQL双主-Master01可用配置
  18. Hive权限管理
  19. Android - 获取SD卡的内存空间大小
  20. linux中执行java或者mvn命令提示没有权限解决办法

热门文章

  1. C#高级编程之反射
  2. bWAPP----iFrame Injection
  3. Python相比其他计算机语言真的更有优势吗?
  4. MindManager 2021 版新增了哪些功能
  5. 如何在PDF文档上加水印
  6. 如何合理的安排Folx的下载任务
  7. 电子邮件怎么用EasyRecovery恢复,只需简单5步
  8. 「LOJ 3153」 「JOI Open 2019」三级跳
  9. 2019年第十届蓝桥杯【C++省赛B组】D、E、G、H、I题解
  10. Java基础教程——Set