asp.net-mvc - Html.RenderPartial 给我奇怪的过载错误?

标签 asp.net-mvc asp.net-mvc-3 razor renderpartial

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

<div>hi</div>

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

@Html.RenderPartial("_Test")

这给了我错误:

CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

我也尝试过完整路径,结果相同。

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

最佳答案

您收到此错误是因为 Html.RenderXXX 帮助程序返回 void - 它们没有任何可返回的内容,因为它们直接* 写入内容以进行响应。你应该像这样使用它们:

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

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

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

关于asp.net-mvc - Html.RenderPartial 给我奇怪的过载错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435893/

相关文章:

c# - MVC 路由问题 : null entry

asp.net-mvc-3 - 部署到 IIS 7 后静态内容未加载

c# - 单选按钮上的模型绑定(bind)为该属性返回 null (ASP.NET Core)

javascript - 返回城市 ID 和名称 JSON MVC4

asp.net-mvc - 有条件选择 Action 的剑道网格列

c# - ASP.NET MVC 复杂模型更新

c# - 无法使用 Automapper 将第二个实体添加到 ViewModel 中?

asp.net-mvc - MVC 下领域驱动设计的替代方案是什么

sql - 如何添加代码初始化sql数据库

asp.net-mvc - MVC3 模型 - 如何使 editorfor 成为下拉菜单?