c# - Razor @{ ... } 与 @ 调用 RenderPartial

标签 c# asp.net-mvc-3 razor

我试图理解为什么在我看来这样做时会出现错误

@Html.RenderPartial("MyPartial", Model);

编译错误 说明:编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

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

但是当我这样做时,局部渲染很好

@{
   Html.RenderPartial("MyPartial", Model);
}

有谁知道为什么第一个例子失败了?

最佳答案

基本上就是这种格式...

@Html.RenderPartial("MyPartial", Model)

... 用于不返回 void 的函数,因为 RenderPartial 确实返回 void,您会收到该错误。

相反,在此 block 中,它只是代码执行(将在内部进行写入调用):

    @{    
Html.RenderPartial("MyPartial", Model); 
}

你也可以调用

@Html.Partial("MyPartial") 

... 返回字符串。

关于c# - Razor @{ ... } 与 @ 调用 RenderPartial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315154/

相关文章:

c# - 如何检查 ViewBag 属性是否为空或不存在

javascript - MVC Razor Ajax 表单提交给 'unexpexted token u'

c# - 将路由中的参数读取到 ViewBag 中,以在一个地方获取所有 View

c# - DataTable.Rows.Find 在表太大时给出 "Table doesn' t have a primary key"error

c# - 从 ListView 中删除所选项目

c# - 在页面 View 上设置 session 变量

c# - ASP.NET MVC Debug模式设置

c# - 对十进制值进行 Math.Round(x,2),但需要确保小数点后的 2 个数字作为其货币

c# - C# 中数组的幕后

asp.net-mvc-3 - 制作一个Html.TextBoxFor看起来像一个标签