MVC是一种广泛使用的UI架构模式,使用于基于事件驱动的应用框架(如WEB Forms和Windows Forms应用),没有ViewState来保留网页的状态,没有页面的生命周期也没有事件驱动。
1.关注点分离(SOC):是AOP(面向侧面的程序设计或面向方面的程序设计,是对面向对象程序设计的改进和扩展),“只注意需要注意的”。
2.约定优于配置(Convention over Configuration)
Model数据模型:用于封装与应用程序在商业逻辑上的相关数据,以及其对数据操作的处理方法(数据库访问操作->增删改查、数据结构的定义、数据格式的验证)。Model接受Controller的请求并完成相应的业务处理,在状态改变的时候向View发出相应的通知。
Model中常见的技术:
1.Entity Framework
2.NHibernate
3.LINQ to SQL
4.强类型的Dataset(Typed DataSet)
5.ADO.NET
View:在页面上显示或是从页面传回后端的部分都属于View的范围,实现可视化界面的呈现并捕捉最终用户的交互操作;负责将Controller传过来的数据配合“显示逻辑”呈现给用户;任何Controller只要能提供View所需要的数据,View就可以根据显示逻辑来显示。
View容易混淆的概念(View负责输出数据而非样式)。
Controller(控制器):是属于一种协调者的角色,Model可以操作数据,View可以显示数据,而View现实的数据需要由Controller从Model获取后提供给View。Controller的角色介于用户接口层和商业逻辑层中间,属于分水岭的角色。
MVC模式没有严格的限制,允许View和Model绕开Controller进行直接交互,View可以通过调用Model获取需要呈现给用户的数据,Model也可以直接通知View让其感知到状态的变化。
Razor语法:
1.Razor的标识符:@ 定义为Razor服务器代码块的标识符。
Web Form中使用<%%>中写服务器代码一个道理
2.作用域:{} 表示作用域的范围 ,在作用域(代码块)中输出也是用@符号的
3.用Razor和html代码混合编写
a.在作用域内如果是以html标签开始则视为文本输出
b.如果要输出@,则使用@@
c.如果要输出非html标签和非Razor语句的代码,则用@:,他的作用是相当于在处于html下面编写一样了,如在@:后面可以加上@就是表示Razor语句的变量
4. @Href("~/")//表示网站的根目录
@Html.Raw(Module.Content) 输出HTML,如:@Html.Raw('<font color='red'>红字</font>'),就会显示出红色的”红字“,不用的话会直接显示这段html字符串(<font color='red'>红色文字</font>)
page是当需要在一个页面中,输出另外一个razor文件的内容时候用到,比如头部或者尾部这些公共的内容时候需要用到。输出就使用 @RenderPage()方法
5.常用HTML标签
Label: @Html.LabelFor()
Text: @Html.TextBoxFor()
Radio: @Html.RadioButtonFor()
6.链接地址:
@Url.Content()
@Url.Action()
ASP.NET之初学MVC
最新推荐文章于 2024-07-02 08:37:37 发布