103

我创建了一个名为_Test.cshtml的测试部分页面,并将其放在与将要调用它的视图相同的目录中,如下所示:

<div>hi</div>

在调用 cshtml 视图中,我简单地说:

@Html.RenderPartial("_Test")

这给了我错误:

CS1502:“System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)”的最佳重载方法匹配有一些无效参数

我也尝试了具有相同结果的完整路径。

我很困惑为什么会这样,我想我错过了一些简单的东西?

4

1 回答 1

191

您收到此错误是因为Html.RenderXXX助手返回 void - 他们没有什么可返回的,因为他们正在直接写东西*以响应。你应该像这样使用它们:

@{ Html.RenderPartial("_Test"); }

还有 Html.Partial 帮助器,它将与您的语法一起使用,但我不建议使用它,除非您必须这样做,因为性能原因(它首先将给定的部分视图组合成字符串,然后父视图将其放入响应中* )。

* 这不完全正确,它们实际上被渲染到 ViewContext.Writer 中,一旦整个页面被渲染和组合,整个事情就会响应

于 2011-03-25T17:26:47.253 回答