ASP.NET MVC 页面和布局
asp.net mvc - 样式和布局
为了学习 asp.net mvc,我们将构建一个 internet 应用程序。
第 3 部分:添加样式和统一的外观(布局)。
添加布局
文件 _layout.cshtml 表示应用程序中每个页面的布局。它位于 views 文件夹中的 shared 文件夹。
打开文件 _layout.cshtml,把内容替换成:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>@viewbag.title</title>
<link href="@url.content("~/content/site.css")" rel="stylesheet" type="text/css" />
<script src="@url.content("~/scripts/jquery-1.5.1.min.js")"></script>
<script src="@url.content("~/scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
<ul id="menu">
<li>@html.actionlink("home", "index", "home")</li>
<li>@html.actionlink("movies", "index", "movies")</li>
<li>@html.actionlink("about", "about", "home")</li>
</ul>
<section id="main">
@renderbody()
<p>copyright yapf 2012. all rights reserved.</p>
</section>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>@viewbag.title</title>
<link href="@url.content("~/content/site.css")" rel="stylesheet" type="text/css" />
<script src="@url.content("~/scripts/jquery-1.5.1.min.js")"></script>
<script src="@url.content("~/scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
<ul id="menu">
<li>@html.actionlink("home", "index", "home")</li>
<li>@html.actionlink("movies", "index", "movies")</li>
<li>@html.actionlink("about", "about", "home")</li>
</ul>
<section id="main">
@renderbody()
<p>copyright yapf 2012. all rights reserved.</p>
</section>
</body>
</html>
html 帮助器
在上面的代码中,html 帮助器用于修改 html 输出:
@url.content() - url 内容将在此处插入。
@html.actionlink() - html 链接将在此处插入。
在本教程后面的章节中,您将学到更多关于 html 帮助器的知识。
razor 语法
在上面的代码中,红色标记的代码是使用 razor 标记的 c#。
@viewbag.title - 页面标题将在此处插入。
@renderbody() - 页面内容将在此处呈现。
您可以在我们的 razor 教程中学习关于 c# 和 vb(visual basic)的 razor 标记的知识。
添加样式
应用程序的样式表是 site.css,位于 content 文件夹中。
打开文件 site.css,把内容替换成:
body
{
font: "trebuchet ms", verdana, sans-serif;
background-color: #5c87b2;
color: #696969;
}
h1
{
border-bottom: 3px solid #cc9900;
font: georgia, serif;
color: #996600;
}
#main
{
padding: 20px;
background-color: #ffffff;
border-radius: 0 4px 4px 4px;
}
a
{
color: #034af3;
}
/* menu styles ------------------------------*/
ul#menu
{
padding: 0px;
position: relative;
margin: 0;
}
ul#menu li
{
display: inline;
}
ul#menu li a
{
background-color: #e8eef4;
padding: 10px 20px;
text-decoration: none;
line-height: 2.8em;
/*css3 properties*/
border-radius: 4px 4px 0 0;
}
ul#menu li a:hover
{
background-color: #ffffff;
}
/* forms styles ------------------------------*/
fieldset
{
padding-left: 12px;
}
fieldset label
{
display: block;
padding: 4px;
}
input[type="text"], input[type="password"]
{
width: 300px;
}
input[type="submit"]
{
padding: 4px;
}
/* data styles ------------------------------*/
table.data
{
background-color:#ffffff;
border:1px solid #c3c3c3;
border-collapse:collapse;
width:100%;
}
table.data th
{
background-color:#e8eef4;
border:1px solid #c3c3c3;
padding:3px;
}
table.data td
{
border:1px solid #c3c3c3;
padding:3px;
}
{
font: "trebuchet ms", verdana, sans-serif;
background-color: #5c87b2;
color: #696969;
}
h1
{
border-bottom: 3px solid #cc9900;
font: georgia, serif;
color: #996600;
}
#main
{
padding: 20px;
background-color: #ffffff;
border-radius: 0 4px 4px 4px;
}
a
{
color: #034af3;
}
/* menu styles ------------------------------*/
ul#menu
{
padding: 0px;
position: relative;
margin: 0;
}
ul#menu li
{
display: inline;
}
ul#menu li a
{
background-color: #e8eef4;
padding: 10px 20px;
text-decoration: none;
line-height: 2.8em;
/*css3 properties*/
border-radius: 4px 4px 0 0;
}
ul#menu li a:hover
{
background-color: #ffffff;
}
/* forms styles ------------------------------*/
fieldset
{
padding-left: 12px;
}
fieldset label
{
display: block;
padding: 4px;
}
input[type="text"], input[type="password"]
{
width: 300px;
}
input[type="submit"]
{
padding: 4px;
}
/* data styles ------------------------------*/
table.data
{
background-color:#ffffff;
border:1px solid #c3c3c3;
border-collapse:collapse;
width:100%;
}
table.data th
{
background-color:#e8eef4;
border:1px solid #c3c3c3;
padding:3px;
}
table.data td
{
border:1px solid #c3c3c3;
padding:3px;
}
_viewstart 文件
shared 文件夹(位于 views 文件夹内)中的 _viewstart 文件包含如下内容:
@{layout = "~/views/shared/_layout.cshtml";}
这段代码被自动添加到由应用程序显示的所有视图。
如果您删除了这个文件,则必须向所有视图中添加这行代码。
在本教程后面的章节中,您将学到更多关于视图的知识。