6

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

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

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

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

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

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

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

4

1 回答 1

7

基本上事实是这种格式...

@Html.RenderPartial("MyPartial", Model)

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

相反,在这个块中,它只是代码执行(这将在内部进行 write 调用):

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

您也可以致电

@Html.Partial("MyPartial") 

...它确实返回了字符串。

于 2012-07-03T16:37:10.517 回答