我正在为我的动态网络类构建一个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。有什么想法吗?
答案 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")