您的位置:首页 > 其它

MVC 3 + Entity Framework Code First 系列学习:第一步——MVC 3初探

2011-08-08 14:06 369 查看
一:安装VS2010 SP1
http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=VS2010SP1Pack
二:MVC 3初探

比之MVC之前的版本,多了一个Razor模板

关于这个模板的一些知识:(信息来源其他Blog,我做了一点整理和改动)

1:调用C#代码的方式,Razor在内部帮我们做了闭合“%>”

Asp.net: <script src="<%=Url.Content("~/Scripts/jquery-1.4.4.min.js")%>"

Razor: <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"

2:模板页:Razor模板

Razor出现后我们就可以选择不再使用asp.net master 模板页。取而代之的是cshtml razor的模板文件。cshtml razor模板相当于asp.net master的进步一改进,

比如只要在View文件夹内加入_ViewStart.cshtml文件,我们就无需在每一个具体的View页面引入模板页。减少View页面内的重复代码——具体的可以建立一个MVC3 Application 选择razor模板,VS会自动建立上述机制。

这里值得提出的是@RenderSection方法。可以让我们在模板页预设一个区域,未来给继承该模板页的View使用。

具体操作:

修改MVC3.0 shared文件夹下_Layout.cshtml这个模板文件,在</head>标签前加入以下代码:

@RenderSection("Head", required:true)


这段代码的意思是,在此处预留出一个Head的Section。熟悉模板页的人,应该明白该处是预留是给未来具体的View页面自定义特定js/css使用(预留部位为<head>标签内部)的。这个View我们就用默认的Home底下的Index来举例。打开index.cshtml ,在<h2>标签下写入以下代码:

@section Head{
<script type="text/javascript">
$(function () {
alert("hello jquery");
});
</script>


这里是填充模板页内的Head section,这时就可以加入我们的针对每个view页面的js或者CSS了。

3:Razor语法:Razor语法的便捷在于razor自动帮助我们闭合C#或VB.NET在html的语法。

在Views/Home文件下打开index.cshtml,输入以下代码:

@{
ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>
@section Head{
<script type="text/javascript">
$(function () {
alert("Hello,JQuery!");
});
</script>
}
<p>
<b>执行C#普通代码:</b><br />
@DateTime.Now.Date.ToShortDateString()
<br />
<b>执行纯C#语句段:</b><br />
@{
List<string> myList = new List<string>() { "MVC 3" , "Razor"};
myList.Add(".NET4");
myList.Add("");
}

<ul>
@foreach(string str in myList)
{
if(string.IsNullOrEmpty(str))
{
<li>空</li>
}
else
{
<li>@str</li>
}
}
</ul>

</p>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: