给EXT. NET管理系统添加路由
我们目前的管理系统是单页应用(上面是logo,左边是菜单栏,右边是具体页面),打开的页面一直是Main.aspx,一旦页面刷新,右边具体页面又会回复到Home.aspx,所以为了实现通过不同的 URL 访问不同的内容的功能,需要在原代码上做以下修改。
![2b34e6f3b7a64e7fa0db08a8663d349a.png](https://i-blog.csdnimg.cn/blog_migrate/f95e809ecefd1ce87a6fe3bb55f732a9.jpeg)
先来一张效果图镇楼
要改的代码主要有以下几个文件
1、Default.aspx.cs
2、Main.aspx
3、Main.aspx.cs
4、Main.js
修改登录跳转链接Default.aspx.cs(可选)
用户输入正确的账号密码的后跳转Main.aspx页面,此时有两种链接写法,第一种直接跳转去Main.aspx页面,第二种跳转去带参数的Main.aspx页面,例如Main.aspx#/modules/Manage/V3/ZK_ARTICLES_MA.aspx,具体还是看需求
![416a2042ab4e0fb728c6e866c21ee34e.png](https://i-blog.csdnimg.cn/blog_migrate/cad2ca4520f002e327213fefd93edfb5.jpeg)
修改Main.aspx页面 Main.aspx
需要用到Main.js,所以要把它引用进来
![a6619d551f11bb092131ed8452cdece4.png](https://i-blog.csdnimg.cn/blog_migrate/4d27462961710d38bdb129e4157d4093.jpeg)
其次,样式也对应的发生了改变,需要的话可以替换Main.css
还有,为了防止在菜单栏搜索栏中回车触发表单提交,所以要把该页面的form表单去掉
![64fd80873f026eacf084bfdcac1865a4.png](https://i-blog.csdnimg.cn/blog_migrate/22456612361b8a437335dc6fe75c66da.jpeg)
最后,为了使右边具体页面有右键菜单,还需要做以下修改
![84fea2187dc95ed5093f27fc7f2a55b1.png](https://i-blog.csdnimg.cn/blog_migrate/02f5b579a71dfc0114a869d44a356c2b.jpeg)
修改获取权限数据部分Main.aspx.cs
![4abfbc3a0b1a4f48583e384e4a99b816.png](https://i-blog.csdnimg.cn/blog_migrate/30be506bee061e6f1c0f14ea874d7256.jpeg)
总体思路是通过client. Permission_GetPermitList()获取权限信息,然后动态创建菜单树、并保存权限信息给前台
首先先创建一个js的权限类JsPermit
![5fa39a66c5628813ce46bf9ee16b969b.png](https://i-blog.csdnimg.cn/blog_migrate/52286a5285531a4769c311063aa2ec38.jpeg)
然后设置一个全局变量jspermit
![bb553a6206a7ea7e939e311ae1a01d2e.png](https://i-blog.csdnimg.cn/blog_migrate/7fee2760849d895ae98d67745f73461a.jpeg)
动态创建菜单栏面板
![5b5273b32f6a16ab9fdb7c941a0b36c7.png](https://i-blog.csdnimg.cn/blog_migrate/c445e0097d9b60497ec9bda50932533b.jpeg)
注意核心代码,功能是让该面板下的节点点击时触发加载页面事件
动态创建菜单栏节点(递归)
![b3bcc14ff94526d76fbb4c786b25c79d.png](https://i-blog.csdnimg.cn/blog_migrate/535ab3de42e2fc00cd390efb186678f3.jpeg)
注意添加href处的代码,如果需要token应该选被注释掉的代码
保存权限信息去前台
![3efe0632372e50ed4cffb5aeb7778cf8.png](https://i-blog.csdnimg.cn/blog_migrate/0a0a66269d0c57b4ebd124dee3e2a949.png)
监听路由 Main.js
![90f4321051edb3e51320f521c0480ce6.png](https://i-blog.csdnimg.cn/blog_migrate/d41a9f6cc5bd96ac402f7b40a535f407.jpeg)
![24084eff771027e5744b81492cb98aff.png](https://i-blog.csdnimg.cn/blog_migrate/726a8d16a34549b679dd36ae3dc8acb0.jpeg)
---------------------------------------------------------------------------------------------------------------------------
ps:貌似页面会加载两次,如果发现有问题,后人可以去完善