MVC——母版与分部
背景:
母版是因为有一些网站里的很多网页都是采用相同的布局,所以只需要写一个母版,然后在母版该写不同模板的地方加上@RenderBody(),然后创建不同模块的时候只需要创建视图,然后选择母版就可以了。。 至于,分部,则是@Html.Partial("路径") 。。。。 极大地提高了代码的重用率。
大体步骤:

详细步骤:
一、首先创建一个母板:

二、给该母板设计布局
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>MasterPage</title>
<style>
.aa
{
text-align:center;
background-color:#FFFFcc;
}
</style>
</head>
<body>
<div>
<table width="100%" border="" cellpadding="" cellspacing="">
<tr class="aa" >
<td height="100px" ><h1>这是标题栏</h1></td>
</tr>
<tr>
<td>
<table width="100%" border="" cellpadding="" cellspacing="">
<tr>
<td width="" >@Html.Partial("~/Views/NewsTypeLinkPartial.cshtml") </td> //这里是静态分部,括号里的是静态分部的路径名
<td width="" > </td>
<td>@RenderBody() </td> //这里放不同的模块,是以该母版为基础的
</tr>
</table>
</td>
</tr>
<tr class="aa">
<td height="100px" ><h1>这是结束栏</h1></td>
</tr>
</table>
</div>
</body>
</html>
三、设计几个用到的分部

注意勾选上创建为分部视图!
代码:(粗糙解释)
<h2>测试</h2>
<div>
@Html.ActionLink("测试1","ceshi1","Home")<br>
@Html.ActionLink("测试2","ceshi2","Home")<br>
测试3<br>
测试4<br>
</div>
四、创建套用母版的不同模块

注意:勾选上使用布局或母版页!!!
代码:
@{
ViewBag.Title = "ceshi1";
Layout = "~/Views/MasterPage.cshtml";
}
<h2>测试1</h2>
随便放
@{
ViewBag.Title = "ceshi1";
Layout = "~/Views/MasterPage.cshtml";
}
<h2>测试1</h2>
随便放
五、给每个不同的模块创建动作
namespace 母版.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
return View(); //这里没有创建视图,所以运行的话要用下面的动作
}
public ActionResult ceshi1() //套了母板的动作
{
return View();
}
public ActionResult ceshi2()//套了母板的动作
{
return View();
}
public ActionResult xiangxi1()//套了母板的动作
{
return View();
}
public ActionResult xiangxi2()
{
return PartialView(); //这个是分部视图,没套模板的
}
}
}
效果图:



MVC——母版与分部的更多相关文章
- MVC中使用分部视图参数,改变分部视图连接样式
MVC中使用分部视图参数,改变分部视图连接样式! Controller代码 [ChildActionOnly] public ActionResult Navigator(int tag) { ret ...
- 爱上MVC~ajax调用分部视图session超时页面跳转问题
回到目录 这个问题出现了很多年了,都没有解决,问题是这样的,有一个需要授权才可以访问的分部视图,在一个view中使用ajax的方法去调用它,然后更新页面的局部DIV,这时,如果你长时间不操作,sess ...
- [转载]ASP.NET MVC 3的分部视图
1.什么是分部视图,我们应该什么时候应该用? 作为一个对ASP.NET MVC 模型很熟悉的开发者,他们自然想创建一个内容和代码都可以重用的组件,在web 窗体,我们可以创建一个web用户控件或web ...
- 如何应用ASP.NET MVC中的分部视图
概述: 在ASP.NET Web Form的开发经验中,对于User Control使用比较频繁,可以减少重复的代码,利于页面模块化,这个概念也被引入了ASP.NET MVC.即“分部视图”. 1.创 ...
- MVC中的分部视图
背景: 项目的工期马上就要到了,由于后台封装的很好,我们只需要用心熟悉框架,接下来后台的工作就是简单的代码工作了.原本以为最困难的时期已经过去,可没想到前台才是最困难的. B/S的基础十分薄弱,加上B ...
- ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
- ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
- webform 转 MVC 飞一般的感觉
前言: 浅谈webform与mvc,让开发变得更加简单,这里主要通过比较webform与mvc的开发方式,以下全属个人看法,不完善的地方可以留言补充. 正文: 废话不多说,直接说工作中经常用到的地方 ...
- Asp.Net MVC 3
Asp.Net MVC 3 wcf基础教程之 契约(合同)Contract 摘要: 在前几篇博客中我有说到服务的寄宿,就是服务要运行起来必须采取的几种方式,相当于我们可以照葫芦画瓜的效果运行一个w ...
随机推荐
- [PR & ML 5] [Introduction] Decision Theory
- 模板:函数memset
需要的头文件 <memory.h> or <string.h> memset 函数介绍 void *memset(void *s, int ch, size_t n); 函 ...
- jQuery手风琴广告展示插件
效果说明:当鼠标移动到已折叠广告的标题后,折叠当前已展开的广告,并同步展开相应的折叠广告.这种Accordion效果,看似简单,但因为存在动画同步的问题,不能简单地用两个animate()来实现.必须 ...
- 初涉GitHub
安装 访问https://help.github.com/articles/set-up-git/,选择对应OS平台.有文档参考,我的是OpenSuse. 在console中下载安装http://ww ...
- 浅谈MVC、MVP、MVVM架构模式的区别和联系
MVC.MVP.MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用. 一.MVC(Model-View-Controller) MVC是比较直观的架构模式 ...
- 自己写的Python数据库连接类和sql语句拼接方法
这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...
- 解决lucene 重复索引的问题
在使用Lucene过程中,会发现当我们为添加新的Document时,会产生重复现象(两次添加同一个Document),毕竟Lucene中没有像数据库中一样,有键可以区分.不过我们可以通过为Docume ...
- Hive(转)
Hive分区表 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念.分区表指的是在创建表时指 ...
- BeeFramework
A semi-hybrid framework that allows you to create mobile apps using Objective-C and XML/CSS
- mvvm windows app DataBinding
前台html 绑定(view):<div id="aa" data-win-bind="innerText:UserData.word" style=&q ...