关于在剃须刀中使用其他cshtml页面内容的问题

时间:2011-09-03 15:20:11

标签: asp.net-mvc-3 razor

我已经阅读了几篇关于使用asp.net mvc3 razor的文章(我相当新)。我有几个.cshmtl页面,就像共享内容(例如标题)。它们基本上只是带有一个或两个div等的html页面。

要将其嵌入我的主页,我是否只使用@renderPage(“页面地址”)。我还需要打电话给@renderbody吗?我是否需要在布局属性中指定/ a页面?

Thanksa

3 个答案:

答案 0 :(得分:1)

我会将公共元素放在布局中(或者可能是基础布局呈现的局部视图)。事实上,这就是我在我正在构建的应用程序中所做的,它运行得非常好。一个问题是您是否需要由控制器填充的视图模型数据并传递给该部分视图。我做了,所以我使用了一个基本控制器并填充了视图模型中的公共元素(所有这些元素也继承自具有公共属性的基类)并使用了部分,然后在部分视图中渲染了部分视图,具体取决于根据观点的需要。

答案 1 :(得分:0)

您可以为每个创建一个部分视图并致电:

@Html.Partial("ViewName")

或者您可以使用sections,或者此article on sections也可以使用。

答案 2 :(得分:0)

您可能知道或不知道,ASP.NET接受HTML标记。

那么为什么不将.aspx文件包含在HTML include标签中?

以下是:

<!-- #include virtual="path to file/include-file.html" -->

例如:

<!--#include virtual="header.aspx"-->

我在编写ASP.NET网站时一直这样做。

只需将它放在您想要的代码的任何地方,从包含的页面出现即可。