@Html.RenderPartial vs @Html.Partial

       在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



發佈了32 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章