知识大全 DIY“ASP.NET MVC 嵌套的母版页”项模板

Posted

篇首语:不要以为努力只是自己的事,别忘了生命赐给你的春光!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 DIY“ASP.NET MVC 嵌套的母版页”项模板相关的知识,希望对你有一定的参考价值。

DIY“ASP.NET MVC 嵌套的母版页”项模板  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  相信不少人与文超一样需要一个MVC 嵌套的母版页 项模板 嵌套的母版有助于细致规划页面公共部分(尤其是要求一改全改的地方) 但是目前官方的MVC项模板中尚未提供 而事实上制作一份项模板是相当简单的 文超懒怠成性 遂以先在网上搜索一番 希望有现成的以飨懒人 未果 于是 自己动手 丰衣足食 吧

  先来看看最终结果吧 那么接下来文超将介绍两点 共四种方法

  安装完后您将看到 MVC 节点下多了一个 MVC View 嵌套的母版页 模板 嗯 中文字在英文堆里特别显眼

  一是大众做法 敲多两行代码 忍着点也能活 等微软的更新(三种)

  二是文超写文章的目的所在 使用自制的土枪

  文超所指的是在MVC尚未提供而又想要得到 嵌套的母版页 一样的效果时的做法 其实如大家所知 要在 MVC 下实现这功能相当简单 为方便演示例子 文超对默认的MVC项目里的 site master 进行了人工改造 在母版里加了几个 ContentPlaceHolder

  <%@ Master Language= C# Inherits= System Web Mvc ViewMasterPage %>

  <!DOCTYPE PUBLIC //W C//DTD XHTML Strict//EN strict dtd >< xmlns= ><head runat= server >    <title><asp:ContentPlaceHolder ID= TitleContent runat= server /></title>    <link stylesheet type= text/css />    <asp:ContentPlaceHolder ID= HeaderContent runat= server /></head>

  <body>    <div>        <h >这儿是头</h >        <div>            <asp:ContentPlaceHolder ID= BodyContent runat= server />            <h >这儿是其他内容</h >        </div>        <h >这儿是脚</h >    </div></body></>

  方法一

  接着文超再在 Views\\Shared 下新建一个 Article Master 母版

  要让 Article Master作为 Site Master 的嵌套母版 只需要将首行的 <%@ Master Language= C# Inherits= System Web Mvc ViewMasterPage %> 加入 MasterPageFile 属性 并将其值填入指定嵌套的母版 并去掉所有 HTML 代码 敲入与嵌套母版 site master 中的 ContentPlaceHolder 对应一致的 Content 即可 按文超的例子 去掉了首行声明以外的所有 HTML 以后 并厌恨其烦地敲了这些代码 Article Master 应该长成这样

  <%@ Master Language= C# MasterPageFile= ~/Views/Shared/Site Master Inherits= System Web Mvc ViewMasterPage %>

  <asp:Content ID= Content ContentPlaceHolderID= TitleContent runat= server ></asp:Content><asp:Content ID= Content ContentPlaceHolderID= HeaderContent runat= server ></asp:Content><asp:Content ID= Content ContentPlaceHolderID= CSSContent runat= server ></asp:Content><asp:Content ID= Content ContentPlaceHolderID= BodyContent runat= server ></asp:Content> 

  方法二

  这也是文超之前使用的办法 使用ViewContentPage你可以免除了敲入这部分代码的劳累

  <asp:Content ID= Content ContentPlaceHolderID= TitleContent runat= server ></asp:Content>

  <asp:Content ID= Content ContentPlaceHolderID= HeaderContent runat= server ></asp:Content>

  <asp:Content ID= Content ContentPlaceHolderID= CSSContent runat= server ></asp:Content>

  <asp:Content ID= Content ContentPlaceHolderID= BodyContent runat= server ></asp:Content>

  但是你要做两件事情

       ViewContentPage 生成的文件名扩展名是 aspx 你需要将它修改为 master 扩展名

       修改首行的 page 指令为 master 指令 例如

  <%@ Master Language= C# MasterPageFile= ~/Views/Shared/Site Master Inherits= System Web Mvc ViewMasterPage %>

  方法三

  方法三是使用 ASP NET WebForm 的 嵌套的母版 模板 这个大家应该都很熟悉 你可能要做的也是两件事情

       将多余的 master cs 及 designer cs 删掉

       将首行的多余属性去掉 将 Inherits 属性值设置为: System Web Mvc ViewMasterPage

  方法四

  这是本文的核心所在 这种方法使用自制模板 一次性填补上述三种方法的不足 既不用如方法一那样敲键盘 也不用像方法二那样修改 master 指令 更不用像方法三那样删文件 一劳永逸 一箭三雕 一石三鸟 一举三得 的的确确 确确实实 实实在在让文超舒心 首先文超在这个目录下(MVC项模板目录)

   C:\\Program Files\\Microsoft Visual Studio \\Common \\IDE\\ItemTemplates CSharp\\Web\\MVC

  找到这个压缩文件

  MvcViewContentPageItemTemplatev cs zip

  其实这就是方法二所使用的MVC View Content Page项模板 解压到任意一个文件夹(文超解压到桌面去了 文超的桌面非常的乱 我相信大部分程序员的桌面都是乱的一团糟的)

  你将得到两样东西

   Views 文件夹

   MvcViewNestedMasterPageItemTemplatev cs vstemplate

  这份文件正是模板定义 是一份 XML 文件 接下来进行人工改造 改造的结果是这样

  <VSTemplate Version= xmlns= Type= Item >  <TemplateData>    <DefaultName>ViewNestedMasterPage Master</DefaultName>    <Name Package= DC FBF c AAA F B F ID= >MVC View 嵌套的母版页</Name>    <Icon Package= c c ef c f b c f ID= />    <Description Package= DC FBF c AAA F B F ID= >MVC View 继承自其他母版页的母版页</Description>    <ProjectType>CSharp</ProjectType>    <SortOrder> </SortOrder>    <SupportsMasterPage>true</SupportsMasterPage>    <NumberOfParentCategoriesToRollUp> </NumberOfParentCategoriesToRollUp>     <RequiredFrameworkVersion> </RequiredFrameworkVersion>    <TemplateGroupID>MVC</TemplateGroupID>     <ShowByDefault>false</ShowByDefault>  </TemplateData>  <TemplateContent>    <CustomParameters>      <CustomParameter Name= $language$ Value= C# />      <CustomParameter Name= $SelectMaster$ Value= true />      <CustomParameter Name= $viewdatatype$ Value= />      <CustomParameter Name= $usingviewdatatype$ Value= />      <CustomParameter Name= $ParentExtension$ Value= master />      <CustomParameter Name= $ChildExtension$ Value= cs />    </CustomParameters>    <References />    <ProjectItem SubType= TargetFileName= $fileinputname$ Master ReplaceParameters= true >Views\\Home\\ViewNestedMasterPage Master</ProjectItem>  </TemplateContent>  <WizardExtension>    <Assembly>Microsoft VisualStudio Web Extensions Version= Culture=neutral PublicKeyToken= bf ad e </Assembly>    <FullClassName>Microsoft VisualStudio Web Mvc ItemTemplateWizard</FullClassName>  </WizardExtension></VSTemplate>

  第二步进入到 Views\\Home 找到ViewContentPage aspx 文件 将其删除 然后在此文件夹内创建一份 master 文件 据MvcViewNestedMasterPageItemTemplatev cs vstemplate 的改造结果 这份文件需要命名为 ViewNestedMasterPage Master 这份 master 文件的内容如下

  <%@ Master Language= C#   MasterPageFile= $MasterPage$ Inherits= System Web Mvc ViewMasterPage %>

  $ContentTags$

  第三步改完后将其压缩为 ZIP 压缩包(选中 Views 文件夹和 MvcViewNestedMasterPageItemTemplatev cs vstemplate 后右击 >发送到 >压缩(zipped)文件夹)为它起个统一风格的名字 MvcViewNestedMasterPageItemTemplatev cs zip

  因为时间关系文超已经制作好这份文件了 点击此处下载 接着你只需要从第四步开始

  第四步将ZIP文件复制到刚才 ViewContentPage 项模板同一位置

   C:\\Program Files\\Microsoft Visual Studio \\Common \\IDE\\ItemTemplates CSharp\\Web\\MVC

  第五步添加项模板到 VS

  无论你是用 CMD 还是在VS的快捷方式上(别忘记安装完后设置回原来路径)修改都可以 你需要使用 setup 选项将创建的项模板添加到 VS 中去 执行下面命令行

   C:\\Program Files\\Microsoft Visual Studio \\Common \\IDE\\devenv exe /setup

cha138/Article/program/ASP/201311/21717

相关参考

知识大全 如何DIY书夹子方法图解

如何DIY书夹子方法图解  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如何DIY书夹子方法图解看你干

知识大全 c#DIY随机数类

c#DIY随机数类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在类库横行的今天请支持DIY直

知识大全 情人节送什么DIY礼物好

情人节送什么DIY礼物好  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!情人节送什么DIY礼物好曾经有

知识大全 如何DIY超轻粘土作品步骤图方法图解

如何DIY超轻粘土作品步骤图方法图解  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如何DIY超轻粘土

知识大全 diy行业分析。 谁能给个建议啊

diy行业分析。谁能给个建议啊?新手,想从DIY行业入手搞自主创业。谁有好的思路指点下啊?  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发

知识大全 如何利用废报纸进行手工DIY

如何利用废报纸进行手工DIY  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如何利用废报纸进行手工D

知识大全 Extended CHM PHP 语法手册之 DIY

ExtendedCHMPHP语法手册之DIY  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ex

知识大全 如何diy礼品盒的做法方法图解 自

如何diy礼品盒的做法方法图解自空纸盒制作置物盒准备材料:各种空纸盒(如:罐头盒、月饼盒、饼干盒、牙膏盒等)、花纹包装纸、英文报纸、纸板(用于内部增加厚度)。A把面巾纸盒做成的置物盒,尺寸正符合用来放

知识大全 七夕情人节送什么礼物好 diy七夕礼物推荐

七夕情人节送什么礼物好diy七夕礼物推荐七夕节送什么礼物好?相信这是很多青年男女在七夕前最纠结的问题,七夕情人节送什么好?其实只要是自己用心准备的礼物,送什么都是好的,如果七夕情人节不知道送什么,不妨

知识大全 本人对留学申请是小白,准备去美国读电子信息工程,我是找留学中介还是diy啊

本人对留学申请是小白,准备去美国读电子信息工程,我是找留学中介还是diy啊?不懂就去学呗,大家都是这么走过来的。不管是中介帮你还是DIY,流程都是一样的:准备语言考试TOEFL,美国研究生入学考试GR