2012-03-08 62 views
5

This article狀態MVC 3 Html.RenderPartial VS Html.Partial

有些情況下,你可能想直接靠邊並寫入 到HTTP響應流,而不是一個局部視圖 渲染的結果(partials/views使用MvcHtmlString/StringWriter)

使用Html.RenderPartial用於流媒體圖像或以媒體爲中心的其他元素,或者其中更快的下載時間非常重要。

MvcHtmlString/StringWriter介紹什麼?如果開銷較少,那麼在所有時間都使用Html.RenderPartial是否有缺點?

我無法在MSDN上找到答案:

http://msdn.microsoft.com/en-us/library/ee402902.aspx

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

回答

1

唯一的「缺點」來的RenderPartial是,你有沒有機會呈現前操縱的結果。所以,如果你想檢查輸出,你可以使用Html.Partial並存儲結果等。說實話,我想不出有一個很好的理由這樣做,但並不意味着沒有一個。

所以除非你需要訪問那個「接縫」,否則不會調用RenderPartial。

3

的缺點是,你必須少寫可讀的代碼。 與Html.Render你寫(1):

@Html.Partial("ViewName", modelObj) 

,同時用Html.RenderPartial你必須寫

@{ Html.RenderPartial("ViewName", modelObj); } 

或(2)

Html.RenderPartial("ViewName", modelObj); 

取決於語法上下文(語法2,您將在if或foreach等語法塊下使用,而語法爲1. 這將影響您爲HtmlHelper類編寫擴展方法的方式,並且您無線會使用它們。