ASP.NET MVC3 @ Html.RenderPartial正在抛出CS1502错误

时间:2011-11-10 05:57:46

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

我正在为我的动态网络类构建一个MVC3应用程序,在尝试渲染部分时,我收到以下错误:

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

现在,我正在执行的代码是:

<div>
    <h2>Shipping Address</h2>
    @Html.RenderPartial("_AddressPartial");
</div>

现在,我已经使用Google搜索了这些内容,从我看到的情况来看,答案都适用于旧版本的MVC并使用&lt; %%&gt;样式语法并得到System.IO错误而不是我得到的System.Web错误。我确实遵循了他们的建议,并尝试使用和不使用分号,这没有任何区别因为我每次都有YSOD。有什么想法吗?

2 个答案:

答案 0 :(得分:26)

这可能只是因为RenderPartial没有返回任何内容。尝试:

@Html.Partial("_AddressPartial")

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

答案 1 :(得分:6)

请注意,RenderPartial不返回任何值(就像RenderAction方法一样),它会在请求中写入输出。而Partial(就像Action方法一样)返回MvcHtmlString的值 所以@Html ...必须返回一些值,而@ {...某些代码...}不必 在您的情况下,如果您想使用renderPartial,请使用它:

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

但为什么不使用Partial方法,你可以这样使用:

@Html.Partial("_AddressPartial")