前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-页面模块。页面模块涉及到的数据表为页面表。

1.1页面域

为了更规范和方便后期系统的二次开发和维护,对应特定的业务模块采用Area(域)的方式开发,页面模块的开发域如下图所示:

Web应用程序系统的多用户权限控制设计及实现-页面模块【9】

由于在Areas下还建立了一个新的目录SystemManage,故需要改变原来的路由。页面模块的路由文件名称为pageManageAreaRegistration。改变路由代码的文件名称为如下:

using System.Web.Mvc;
namespace CodeForMvcTest.Areas.PageManage
{
    public class PageManageAreaRegistration : AreaRegistration
    {
        public override string AreaName
        {
            get
            {
                return "SystemManage/PageManage";
            }
        }
        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "SystemManage_PageManage_default",
                "SystemManage/PageManage/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

 1.2Model

页面模块的Model可参看第三章项目架构的系统共有类,对应model为Page.cs。文件路径为Areas/SystemManage/Models。

 1.3视图

页面模块的视图包含在页面域中,文件路径为Areas/SystemManage/OperatorManage/Views/PageManage,视图名称为PageMange.cshtml。视图的完整代码如下:

  1 @{
  2     ViewBag.Title = "页面管理";
  3     Layout = "~/Views/Shared/_BaseLayout.cshtml";
  4 }
  5 
  6 
  7 
  8 <div class="easyui-layout" data-options="fit:true">
  9 
 10     <div data-options="region:'north',split:true" style="height: 50px;">
 11         <form id="searchForm" method="POST" action="@Url.Action("PageManage", "PageManage")">
 12             <!--属性组筛选栏-->
 13             <table style="margin-left: 5px; margin-top: 5px;">
 14                 <tr>
 15                     <td><span>栏目:</span></td>
 16                     <td>
 17                         <select class="easyui-combotree" name="categoryId" id="categoryId" style="width: 180px;"
 18                             data-options="url:'/SystemManage/PageManage/PageManage/InitCatalog'">
 19                         </select>
 20                     </td>
 21                     <td><span style="margin-left: 10px;">状态:</span></td>
 22                     <td>
 23                         <select class="easyui-combobox" name="isAvailable" id="isAvailable" style="width: 150px;"
 24                             data-options="editable:false">
 25                             <option value="-1">全部</option>
 26                             <option value="1">启用</option>
 27                             <option value="0">不启用</option>
 28                         </select>
 29                     </td>
 30                     <td><span style="margin-left: 10px;">页面名称:</span></td>
 31                     <td>
 32                         <input class="easyui-validatebox" id="pageName" name="pageName" />
 33                     </td>
 34                     <td>
 35                         <input type="submit" value="查找" id="btn_submit" style="margin-left: 10px; margin-right: 10px;" />
 36                     </td>
 37                 </tr>
 38             </table>
 39         </form>
 40     </div>
 41 
 42     <div data-options="region:'center',split:true" style="padding-bottom: 10px;" id="centerDiv">
 43         <table id="dataGrid">
 44             <thead>
 45                 <tr>
 46                     <th data-options="field:'CategoryName',align:'left'">所属栏目</th>
 47                     <th data-options="field:'PageIndex',align:'left'">页面ID</th>
 48                     <th data-options="field:'PageName',align:'left'">页面名称</th>
 49                     <th data-options="field:'PageUrl',align:'left'">页面访问地址</th>
 50                     <th data-options="field:'Title',align:'left'">报表标题</th>
 51                     <th data-options="field:'Subtitle',align:'left'">副标题</th>
 52                     <th data-options="field:'ShowNum',align:'left'">排序值</th>
 53                     <th data-options="field:'IsAvailable',align:'center',formatter:statusformater">状态</th>
 54                     <th data-options="field:'Operate',align:'center',formatter:operateFormater">操作</th>
 55                 </tr>
 56             </thead>
 57             <tbody>
 58             </tbody>
 59         </table>
 60         <br />
 61     </div>
 62 
 63 </div>
 64 
 65 <!--属性组工具栏-->
 66 <div id="page_tb" style="height: auto">
 67     <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="openAddWindow();">添加页面</a>
 68 </div>
 69 
 70 
 71 <!--页面信息编辑窗体-->
 72 <div id="pageEditWin" title="修改页面信息" style="width: 450px; height: 460px; padding: 20px; text-align: center;">
 73     <form id="pageEditForm" method="POST" action="@Url.Action("UpdatePage", "PageManage")">
 74         <table style="margin: auto;">
 75             <tr>
 76                 <td style="text-align: right;"><span>栏目:</span></td>
 77                 <td>
 78                     <select class="easyui-combotree" name="CategoryId" id="e_categoryId" style="width: 200px;"
 79                         data-options="url:'/SystemManage/PageManage/PageManage/InitCatalogWithoutRoot'">
 80                     </select>
 81                 </td>
 82             </tr>
 83             <tr style="height: 30px;">
 84                 <td style="text-align: right;"><span>名称:</span></td>
 85                 <td>
 86                     <input class="easyui-validatebox" id="e_pageName" name="PageName" style="width: 200px;" />
 87                 </td>
 88             </tr>
 89             <tr style="height: 30px;">
 90                 <td style="text-align: right;"><span>访问路径:</span></td>
 91                 <td>
 92                     <input class="easyui-validatebox" id="e_pageUrl" name="PageUrl" style="width: 200px;" />
 93                 </td>
 94             </tr>
 95             <tr style="height: 30px;">
 96                 <td style="text-align: right;"><span>标题:</span></td>
 97                 <td>
 98                     <input class="easyui-validatebox" id="e_title" name="Title" style="width: 200px;" />
 99                 </td>
100             </tr>
101             <tr style="height: 30px;">
102                 <td style="text-align: right;"><span>副标题:</span></td>
103                 <td>
104                     <input class="easyui-validatebox" id="e_subtitle" name="Subtitle" style="width: 200px;" />
105                 </td>
106             </tr>
107             <tr style="height: 30px;">
108                 <td style="text-align: right;"><span>显示顺序:</span></td>
109                 <td>
110                     <input class="easyui-numberbox" id="e_showNum" name="ShowNum" style="width: 205px;" />
111                 </td>
112             </tr>
113             <tr style="height: 40px;">
114                 <td style="text-align: right;"><span>状态:</span></td>
115                 <td>
116                     <select class="easyui-combobox" name="IsAvailable" id="e_isAvailable" style="width: 205px;"
117                         data-options="editable:false,required:true">
118                         <option value="0">不可用</option>
119                         <option value="1">可用</option>
120                     </select>
121                 </td>
122             </tr>
123             <tr style="height: 50px;">
124                 <td colspan="2" style="text-align: right;">
125                     <input type="hidden" id="e_pageIndex" name="PageIndex" />
126                     <input type="reset" style="display: none;" />
127                     <input type="submit" value="提交" id="btn_editsubmit" style="margin-left: 10px; margin-right: 10px;" />
128                     <input type="button" value="取消" id="btn_editCancel" onclick="javascript: return $('#pageEditWin').window('close');"
129                         style="margin-left: 10px; margin-right: 10px;" />
130                 </td>
131             </tr>
132         </table>
133     </form>
134 </div>
135 
136 
137 
138 
139 
140 @section scripts
141 {
142     <script type="text/javascript"  src="/Areas/SystemManage/SystemJS/pageManage.js"></script>
143 }
PageMange.cshtml

相关文章:

  • 2022-01-07
  • 2022-12-23
  • 2021-12-05
  • 2021-08-17
猜你喜欢
  • 2021-07-26
  • 2021-11-23
  • 2022-01-12
  • 2021-10-06
  • 2021-08-10
  • 2021-08-03
  • 2021-06-13
相关资源
相似解决方案