Asp.net mvc 3 关于在razor中使用其他cshtml页面内容的问题

Asp.net mvc 3 关于在razor中使用其他cshtml页面内容的问题,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我读了几篇关于使用asp.net mvc3 razor的文章(我对它还比较陌生)。我有两个.cshmtl页面,它们类似于共享内容(例如标题)。它们基本上只是带有一个或两个div等的html页面 要将其嵌入到我的主页中,我是否只使用@renderPage(“页面地址”)。我还需要打电话到@renderbody吗?是否需要在布局属性中指定/a页 Thanksa您可以为其中每一项创建局部视图,并调用: @Html.Partial("ViewName") 或者您可以使用,或者这可能也有帮助。我会将公共

我读了几篇关于使用asp.net mvc3 razor的文章(我对它还比较陌生)。我有两个.cshmtl页面,它们类似于共享内容(例如标题)。它们基本上只是带有一个或两个div等的html页面

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


Thanksa

您可以为其中每一项创建局部视图,并调用:

@Html.Partial("ViewName")

或者您可以使用,或者这可能也有帮助。

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

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

那么,为什么不在.aspx文件中包含HTML包含标记呢

以下是方法:

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

例:


我在编写ASP.NET网站时总是这样做。

只要把它放在你想让代码显示的任何地方,从包含的页面

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