前言:前几天要准备一个演讲,所以准备了MVC的一些基本的东西,以前也使用过MVC,但是只是使用,而不是去了解,所以趁着这个机会好好的把别人的MVC视频看了一下(是一个微软的MVP会员发布的视频,相信有些人都看过),整理除了这个笔记,共享一下子,基本MVC的所有东西都介绍了,但是都是很基础的东西。本来打算一篇发表完的,但是发现东西有点多,所以分成了两篇文章!
什么是ASP.NET MVC
(1) ASP.NET MVC是微软官方提供的MVC模式编写ASP.NET Web应用程序的一个框架
(2)MVC是微软继ASP.NET WebForms后的有一种开发方式,并非替代方式!
[img]http://files.jb51.net/file_images/article/201411/2014111715470344.jpg[/img]
(3)官方网站:$@p.Price)</li>
}
<ul>
伟大的@
(1) Razor中服务器端代码段的起始位置均使用@符号作为开始
1)ASPX引擎
<%
int x=12;
string name="韩迎龙";
%>
2)Razor引擎
@{
int x=12;
string name="韩迎龙";
}
(2)渲染输出
1)经过HTML编码(放置被攻击)
1)ASPX引擎
<span><%:model.Message%></span>
2)Razor引擎
<span>@model.Message</span>
2)未经HTML编码
1)ASPX引擎
<span><%=model.Message%></span>
2)Razor引擎
<span>@Html.Raw(model.Message)</span>
(3)代码和标记混合
1)ASPX引擎
<%foreach(var item in items){%>
<span><%:item.Prop%></span>
<%}%>
2)Razor引擎
@foreach(var item in items){
<span>@item.Prop</span>
}
(4)代码和纯文本混合
1)ASPX引擎
<%if(foo){%>
Plain Text
<%}%>
2)Razor引擎
@if(foo){
<text>Plain Text<text>
}
@if(foo){
@:Plain Text
}
(5)<text>标签式一个Razor特殊处理的元素,Razor将<text>块内部内容视为内容块,不呈现包含那些内容的<text>标签
(这意味着只呈现<text>内部内容,不呈现标签本身)。这使呈现没有被HTML元素包装的多行内容块变得方便
(6)表达式与文本混合
1)ASPX引擎
Hello <%:title%>.<%:name%>
2)Razor引擎
Hello @title.@name
(7)Email地址
1)hyl934532778@live.cn
Razor可以自动识别Email地址而不作为服务器端代码执行
(8)两个连续的@@符号会被渲染成一个@符号
<span>I Hava A Dream,@@Kencery </span>
(9)显示渲染输出
1)<span>ISBN@(isbnNumber)</span>
2)当要渲染输出的代码@前无空格或标记位时,我们需要使用小括号继续您显示的渲染输出
(10)服务器端注释
1)ASPX引擎
<%
I Have a Dream
%>
2)Razor引擎
@*
I Have a Dream
*@
(11)渲染输出动态方法
1)对于动态方法返回值之类的输出我们使用小括号将代码闭合起来即可
@(MyClass.MyMethod<AType>())
(12)创建Razor委托
1)我们通过创建Razor委托来复用一些视图逻辑
[url=https://github.com/telerik/razor-converter]https://github.com/telerik/razor-converter[/url]
相信自己,也许你就是下一个奇迹