在Razor中,代码1是不能执行的, 而代码2可以
代码1
@Html.RenderPartial("SomeView")
代码2
@Html.Partial("SomeView")
RenderPartial 需要像代码3这样使用
代码3
@{Html.RenderPartial("SomeView");}
为啥呢?
因为RenderPartial返回Void, Partial返回MvcHtmlString,目前看起来是这样的(没有深究):在cshtml中,没有花括号的,例如@Html.xx是需要一个返回对象用于呈现的,而有花括号的@{Html.xxx;}是花括号里的代码运行了一下。RenderPartial内有一个呈现的动作,完成呈现功能,但没有返回任何对象给cshtml用于呈现,所以就会报错。与之类似的还有
RenderAction和Action