zoukankan      html  css  js  c++  java
  • pms前端结构

    后台采用.net MVC框架,前端采用requirejs。整个系统页面布局基本不变,每个页面只改变Main_Content部分。

    模板页cshtml:

    <!DOCTYPE html>
    <!--公用的模版页面_layout.cshtml-->
    <head>
        <meta charset="utf-8">
        <title>@ViewBag.Title</title>
        <link rel="shortcut icon" href="~/favicon.ico" type="image/x-icon">  
        <!--引入公共样式,需要在BundleConfig.cs 文件里定义样式集-->
        @Styles.Render("~/css/common")
        <!--子页面中@section cssImport部分(<link>标签内容)将要显示的位置-->
        @RenderSection("cssImport", required: false) 
        <!-- 同步引入requirejs -->
        <script  src="~/js/require.js"> </script>
        <script src="~/js/json2.js"></script>
    </head>
    <body> 
        <!--—子页面内容中除去@section name部分后将要显示的区域-->
        <div class="main_content">@RenderBody()</div> 
        <!-- 公用部分js,单独封装成一个app模块,在子页面的js依赖中引入 -->
        <script type="text/javascript">
            //...
        </script>
        <!--子页面中@section jsImport部分(<script>标签内容)将要显示的位置,尽量在文档结尾处-->
        @RenderSection("jsImport", required: false)
    </body>
    </html>

    子页面cshtml:

    @{
        ViewBag.Title = "子页面标题";
    }
    <!--当前子页面用到的样式,会并到模版页面@RenderSection('cssImport')注解处-->
    @section CssImport{
        <link href="~/css/vender/jquery.jscrollpane.css" rel="stylesheet" /> 
        <link href="~/css/main/subPage.css" rel="stylesheet" />
    }
    
    <!-- 子页面html标签部分 -->
    <form name="CONDITION_FORM" id="js-form" action=""  method="post" style="display:none">
        <input type="text" name="queryStr" id="queryStr" />
    </form>
    <div class="selectModel">...</div>
    
    <!-- 当前子页面js逻辑,会并到模版页面@RenderSection('jsImport')注解处 -->
    @section jsImport{
        <script>
            require('~/js/config',function(){
                require(['currentPage'], function (module) {
                    module.init();
                });
            })
        </script>
    }

    子页面js:

    //子页面业务模块,app为公用部分模块
    define(['app','components/jtable/jtable'], function (app, jtable) {
        'use strict';
        var module = {
            options: {},
            init: function (options) {
                // 合并参数
                var self = this;
                _.map(options, function (item, key) { self.options[key] = item; });         
                //业务逻辑
                this.bindEvents();
            },
            bindEvents: function () {
               //...
            }
       };
        return module;
    });
  • 相关阅读:
    vue-element-admin项目install出现的问题
    关于html5 Notification桌面通知无法在谷歌浏览器显示的问题
    C#调用存储过程执行缓慢,但在数据库中执行却很快的问题
    IdnentiyServer-使用客户端凭据访问API
    IdentityServer开题篇
    IdentityServer4客户端JWT解密实现(基于.net4.0)
    iis访问网络路径映射问题(UNC share)
    .net core部署在iis上
    git blame 查找修改者
    代码管理工具-将项目文件打成tar包,并且排除.git目录
  • 原文地址:https://www.cnblogs.com/kevin2chen/p/7048341.html
Copyright © 2011-2022 走看看