宝哥软件园

ASP.NET MVC 3模板页面的使用(2)

编辑:宝哥软件园 来源:互联网 时间:2021-09-08

在本文中,我们演示了如何在MVC3中使用模板页面。在传统的webform设计模式中,我们使用masterpage作为模板页面,而在MVC3 razor view设计中,我们使用另一种方式作为模板页面。

创建一个新的MVC3项目。在解决方案资源管理中,我们可以看到视图文件夹下有一个共享文件夹。共享文件夹中有一个_Layout.cshtml页面。这是项目中的默认模板页面。如下图所示:

1.新增内容页面内容页面在MVC3中也称为视图布局页面。您可以右键单击视图文件夹,通过添加视图来添加内容页面,然后选择相应的模板。下面是我们创建的内容页面ViewPageOne.cshtml

使用模板页面,代码会在页面中自动生成。指定模板页面,并使用布局指定特定的模板页面。如果内容页面中没有布局属性,则使用默认模板页面

@{ ViewBag。Title=' ViewPageOnelayout=' ~/view/Shared/_ layout . cshtml ';} H2 viewpageone/H2如果布局指定为空,将不会使用模板页面

@{ ViewBag。Title=' ViewPageOne布局=null} 2.创建新模板页面

右键单击共享文件,然后在菜单中选择添加新项,弹出添加新项对话框,然后选择MVC3的布局页面,以及我们在_ LayoutPageone.cshtml下面添加的布局页面。

3.单独为文件指定模板页面。如果页面不想使用默认模板页面,可以单独指定。下面的代码将内容页面的模板页面指定为新创建的模板页面_ layoutpageone.cshtml。

@{ ViewBag。Title=' ViewPageOne布局=' ~/view/Shared/_ layoutgeone . cshtml ';} h2ViewPageOne/h2 4。为某个视图文件夹指定模板页面。如果希望控制器下的所有视图使用相同的模板文件,可以在控制器对应的尝试文件夹下创建一个_ViewStart.cshtml文件,然后指定在_ viewstart.cshtml中使用的模板页面。

@ { Layout=' ~/view/Shared/_ layoutgeone . cshtml ';}这样,控制器下的视图可以被指定为使用模板文件

5.页面不使用模板页面。如果内容页面不想使用模板页面,您可以将_Layout设置为空,也可以添加视图页面而不选择模板。[emailprotected]() @RenderBody()在模板页面中用于指示内容页面在模板中的位置。使用模板页面创建内容页面时,内容页面显示在模板页面中@RenderBody()的位置,并且只有一个@ renderbody()。[email protected] @ rendersection可以用来定义模板布局中的一个区域,也可以在内容页面中定义一些内容来填充这个区域,例如内容页面中引用的JS文件可以填充到模板页面的节位置。每个内容页面的单独信息可以显示在模板页面的这个区域中。@RenderSection有两个参数。第一个参数用于定义节的名称,第二个参数是布尔值。如果为TRUE,则表示必须为内容页面定义该部分;如果为false,则表示可以定义或不定义该部分。

模板页面:

!DOCTYPE html html标题欢迎使用@ viewbag.title/title/headbody p2nd模板页面/p div @ render body()/div Note : @ render section('备注',false);/div /body /html内容页面:

@{ ViewBag。Title='主页';} h2@ViewBag.Message/h2 p要了解更多关于ASP.NET MVC的信息,请访问a href=' http://asp.net/MVC' title=' ASP.net MVC网站' http://asp.net/MVC/a./p @ section备注{我是主页} pWelcome/p[email protected]@ render page用于表示一个页面的内容要在另一个页面中呈现。参数指定要呈现的网页的位置。我们在共享文件夹下创建一个新的footer.cshtml文件,然后在其中写入版权信息,然后在模板页面中创建一个位置来呈现页脚页面。

!DOCTYPE html html标题欢迎使用@ viewbag.title/title/headbody p2nd模板页面/p div @ render body()/div Note : @ render section('备注',false);/div footer @ render page(' ~/view/shared/footer . cshtml ')/footer/body/html[email protected]()和Html . render partial()[email protected]()这两个方法,分别是Html。RenderPartial(),可用于输出部分页面。右键单击添加新项,选择MVC3部分页面添加部分页面,相当于用户控件。此时,可以使用两种方法输出部分页面的内容。当然,这两种方法也可以直接输出视图页面和内容页面。@Html的参数。Partial()是用户控件的名称,即partial page的名称,返回值为string,可以直接输出。@Html的参数。RenderPartial()也是用户控件的名称,返回值为VOID。调用时,内容直接输出到响应。用法如下:

div id='logindisplay' @Html。Partial('_PartialLogin') @{ Html。RenderPartial(' _ PartialLogin ');} /div以上是如何使用ASP.NET MVC 3模板页面

更多资讯
游戏推荐
更多+