开发步骤
1、建立项目
2、建立文件夹
3、建立Controllers
4、生成页面
5、编写Html+Js
6、编写异步请求的Action的方法,返回部分页(用于分页)
7、Js中显示部分页
8、增加新增按钮,增加Add的Action,并生成页面
9、新增页面Html+Js,增加保存Js方法,$.post到SaveAction,保存成功后关闭页面
http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html
第一次接触到MVC,才知道,什么是真正的Web开发;Html怎么运作,怎样传值,怎么样赋值;
- 没有数据回传
- 没有在页面中保存视图状态
- 开发者可以完全掌控页面的呈现过程
统一权限如何做到的(权限控制)、数据验证、开发技巧(分页、批量提交、异步等)
MVC权限控制:Auth认证
数据验证:前台JS,$.Post后台验证,AjaxForm 提交; 用吴乐章的验证控件
常用Demo:
增、改:验证代码,提交代码;绑定代码
批量新增:[0].Name 方式提交
查:分页列表,部分页处理
删除:$.Post 提交
分页列表,上传方法
进阶知识:
在ASP.NET MVC中约定,以“_”开头的文件在浏览器上面是不能访问的
_ViewStart.cshtml定义了Layout,作用域,当前文件夹
_Viewstart.cshtml是一个在呈现View文件的时候的启动文件,会在所有View(.cshtml)被执行之前执行,主要用于一些不方便或不能在母版(_Layout.cshtml)中进行的统一操作,譬如你有很多个没有继承关系的母版或不使用母版的单页。
@section 在指定位置显示代码,主要用于Js顺序和,CSS顺序
RenderSection("seciton名称",false) 后面为False时,为子页面可以不重写,为True时,子页面必须重写
RenderBody(),子页面默认就是body
@helper 可以定义方法
@helper king(string str) { @str } @for (int i = 0; i < 10; i++) { @king(i.ToString()); }
MVC对应关系,命名规范,映射文件名
Attribute :Get/Post
Filter
Html.Raw
http://www.cnblogs.com/leoo2sk/archive/2008/11/01/1324168.html
ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
小技巧,快速开发:
调试:ReAttach或者Ctrl+Alt+P(调试,附加)
接口跳转 :“查找所有引用”
查找文件或者是方法名: Ctrl+,(编辑,定位)
查找:Ctrl+F,Ctrl+Alt+F
块状选择: Alt+选择
代码生成:Alt+Shift+F10、for+Tab+Tab、Ctrl+E D
代码提取:提取方法
扩展信息
约定大于配置 约定优于配置是一个简单的概念。 系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置。 在大部分情况下,你会发现使用框架提供的默认值会让你的项目运行的更快。
零配置并不是完全没有配置,而是通过约定来减少配置, 减少 XML
一直说C#是强类型语言,通俗地讲,便是指C#中的“变量”在开发时的类型便是明确的
- 能够享受代码提示功能
- 能够获得重构工具的支持
- 能够在编译期发现更多错误
MVC纵向切割了开发过程中的代码,从服务器到浏览器层层分离,层次之间耦合度很低,因为它是顺着底层的开发脉络进行封装,所以有利于开发者对整个程序过程流转的理解。
不能被重用无法封安装,适合轻量级的开发,正好Web开发恰恰就是轻量级的,因为硬件,网络的限制也不需求 过于复杂的逻辑
WebForm 大量的组件因为硬件的瓶颈无法给WebForm带来什么优势 ;代码的封装是靠牺牲运行效率来提高开发效率,牺牲的运行效率通过提高硬件性能来解决