Html.RenderPartial给我奇怪的重载错误?


103

我制作了一个名为_Test.cshtml的测试部分页面,并将其放置在与要调用它的视图相同的目录中,这里是:

<div>hi</div>

在调用cshtml视图中,我只需输入:

@Html.RenderPartial("_Test")

这给了我错误:

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

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

我很困惑为什么这样做,我想我缺少一些简单的东西?

Answers:


190

之所以会出现此错误,是因为Html.RenderXXX助手返回void-他们没有任何要返回的东西,因为他们直接在写内容*以响应。您应该这样使用它们:

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

还有Html.Partial helper,它将与您的语法一起使用,但是除非有必要,否则我建议不要使用它,因为它会提高性能(它首先将给定的局部视图组成字符串,然后将父视图放入响应中* )。

*这并非完全正确,实际上是将它们渲染到ViewContext.Writer中,并且一旦整个页面都被渲染和合成,整个事情就会响应

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.