在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