页面呈现采用Razor模板
 
1、母模板说明
_Main.cshtml:基础母模板
_ListLayout.cshtml:列表页面
_EditDialog.cshtml:编辑对话框
_EditLayout.cshtml:编辑页面
_ViewDialog.cshtml:查看对话框
_ViewLayout.cshtml:查看页面
(母版页在Views\Shared目录下,xxxLayout页都是基于_Main.cshtml页)
 
2、列表页和对话框
列表页:
列表页采用_ListLayout.cshtml作为母版页,可以在列表页编写以下Section
@section header:这部分内容将在包含在<head>,用于编写js和css。
@section toolbar:工具栏,

@section searchbar:搜索栏,

@section list:列表部分
如下图所示:
 
编辑页:
编辑页采用_ViewDialog.cshtml作为母版页,可以在列表页编写以下Section

@section header:这部分内容将在<head></head>呈现,用于编写js和css
其它部分为页面的body内容。
如下图所示,红框部分为编辑页的页面(在列表页用iframe加载编辑页)
 
编辑页包含以下js脚本
//点击“保存”按钮会调用到编辑页的函数onDialogClose()
function onDialogClose(msg) {
$.ajaxSubmit();
}
//该函数用ajax提交表单,提交成功后调用onComplete关闭窗口
function onComplete() {
$.dialog.close("ok"); //关闭窗口
}
3、 HtmlHelper

除了ASP.net MVC 提供的HtmlHelper外,框架还提供以下HtmlHelper
(在页面上添加@using aSite.UI.Html)
(1)、分页
  @Html.PageBar()
(2)、字典下拉框和字典标签
  @Html.DictDropDownList()、@Html.DictDropDownListFor()

  @Html.DictText()、@Html.DictTextFor()
(3)、枚举型下拉框和标签
  @Html.EnumDropDownList()、@Html.EnumDropDownListFor()、
  @Html.EnumText()、@Html.EnumTextFor()

(4)、表格
  @Html.GridHeader() //表格标题
(5)、复选框
  @Html.CheckBox()

(6)、树形结构的json数据
  @Html.TreeJsonFor()

(7)、文本显示   
  @Html.Text() 、@Html.TextFor() 、@Html.BooleanText()

(8)、树形列表选择
  @Html.TreeSelectorFor

(9)、选择控件
  @Html.SelectorFor

  
4、js和css
框架在页面用到以下JS
  jquery1.7、bootstrap2.3.2
jq插件:
  jquery-tipsy:用于显示提示信息
  zTree:树形列表
  jquery.cookie:cookie读写
.net MVC自带的js:
  jquery.unobtrusive-ajax.js、jquery.validate.min.js、jquery.validate.unobtrusive.js
 
其中的有对jquery.unobtrusive-ajax.js、jquery.validate.unobtrusive.js、bootstrap-modal.js 3个js文件做小部分的修改,具体可参考代码注释,另外新增css文件bootstrap-ext.css覆盖部分bootstrap自身的样式。
框架提供的js库
  common.js:提供常用的js函数
  dialog.js:对话框相关的js,基于bootstrap-modal.js
 
5、导航和菜单栏
导航和菜单是基于MvcSiteMap实现
Views/Shared/DisplayTemplates目录下提供导航和菜单显示的模板
用法可参考文章:MvcSiteMap用法

SRF之页面的更多相关文章

  1. 简单快速的开发框架-SRF

    1.是什么 SRF(simply and rapid development framework) 一套基于asp.net mvc的开发框架,致力于提供简单.快速的企业应用开发方案,旨在解决企业应用开 ...

  2. multiwii 2.4配置页面中文注释

                                                                                                         ...

  3. SRF之权限控制

    框架目前提供url访问.菜单和页面元素的权限控制和数据权限,权限基于角色来分配,1个用户可以属于多个角色,权限项分模块.页面.操作3级别,其中模块.页面用于url和菜单的控制,操作是对页面元素的控制. ...

  4. SRF之数据验证

    实现表单输入数据的验证,包括客户端验证和服务器端验证 如何使用 数据验证在业务层的实体类字段上增加数据验证的特性,例如 public class User { [Required(ErrorMessa ...

  5. 页面嵌入dom与被嵌入iframe的攻防

    1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...

  6. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

  7. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  8. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  9. 百度MIP移动页面加速——不只是CDN

    MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...

随机推荐

  1. android 如何设置背景的透明度

    半透明<Button android:background="#e0000000" ... />透明<Button android:background=&quo ...

  2. Basler usb SDK安装在opencv采集图像

    近期,入手一台baslerUSB接口的CCD相机,但是貌似之前图像采集的编程无法调动其摄像头,在网上搜了一下,大家的说法就是安装它的SDK文件包,并且调用它内部函数编写代码.其实新版的Basle相机驱 ...

  3. maven的版本管理笔记

    1. 版本管理 (1) 快照版本对应了项目的开发过程,往往对应了很长的时间:发布版本对应了项目的发布,因此仅仅代表某个时刻项目的状态. (2) 理想的发布版本应当对应项目某个时刻比较稳定的状态,包括源 ...

  4. 压缩上传并预览 flash

    最近研究一个功能:用as3写的上传图片并实现预览.觉得花了很多时间也学到很多知识,将自己的所得记录下来供大家分享. 首先是预览功能的实现,大家自然而然就想到了loader来加载图片并显示,由于项目没有 ...

  5. Operator overloading

    By defining other special methods, you can specify the behavior of operators on user-defined types. ...

  6. Swift学习—字符串&数组&字典

    字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...

  7. android反编译工具总结

    序:总结反编译主要的目的在于学习.利用反编译进行相关的汉化或修改,都是不道德的! 大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.d ...

  8. javascript代码复用模式(二)

    前面说到,javascript的代码复用模式,可分为类式继承和非类式继承(现代继承).这篇就继续类式继承. 类式继承模式-借用构造函数 使用借用构造函数的方法,可以从子构造函数得到父构造函数传任意数量 ...

  9. Lamp源码包安装实录

    Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...

  10. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...