2 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
Html.partial和RenderPartial的用法與區(qū)別
Html.partial和RenderPartial都是輸出html片段,區(qū)別在于
Partial是將視圖內(nèi)容直接生成一個(gè)字符串并返回(相當(dāng)于有個(gè)轉(zhuǎn)義的過程),RenderPartial方法是直接輸出至當(dāng)前 HttpContext(因?yàn)槭侵苯虞敵?,所以性能好)。因此它們在視圖中的使用方式是不同的:
MVC2:
輸出到 HttpContext
輸出為string 直接到頁面
MVC3:
@Html.Partial("BasicChart")
@{
Html.RenderPartial("BasicChart");
}
Html.partial和RenderPartial的其它三個(gè)重載很有用,第二個(gè)重載@{Html.RenderPartial("BasicChart",model);}
用這個(gè)重載可以在部分視圖里使用強(qiáng)類型,然后在主視圖中使用第二個(gè)參數(shù)傳model過去,而不用controller
比如從list中傳其中一項(xiàng)myClass過去
第三個(gè)重載用來傳ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}
示例:
<div id="logindisplay">
@*@Html.Partial("_LogOnPartial")*@
@{
Html.RenderPartial("_LogOnPartial");
}
</div>

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
Html.partial和RenderPartial的用法與區(qū)別
Html.partial和RenderPartial都是輸出html片段,區(qū)別在于
Partial是將視圖內(nèi)容直接生成一個(gè)字符串并返回(相當(dāng)于有個(gè)轉(zhuǎn)義的過程),RenderPartial方法是直接輸出至當(dāng)前 HttpContext(因?yàn)槭侵苯虞敵?,所以性能好)。因此它們在視圖中的使用方式是不同的:
MVC2:
輸出到 HttpContext
輸出為string 直接到頁面
MVC3:
@Html.Partial("BasicChart")
@{
Html.RenderPartial("BasicChart");
}
Html.partial和RenderPartial的其它三個(gè)重載很有用,第二個(gè)重載@{Html.RenderPartial("BasicChart",model);}
用這個(gè)重載可以在部分視圖里使用強(qiáng)類型,然后在主視圖中使用第二個(gè)參數(shù)傳model過去,而不用controller
比如從list中傳其中一項(xiàng)myClass過去
第三個(gè)重載用來傳ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}
示例:
<div id="logindisplay">
@*@Html.Partial("_LogOnPartial")*@
@{
Html.RenderPartial("_LogOnPartial");
}
</div>
- 2 回答
- 0 關(guān)注
- 606 瀏覽
添加回答
舉報(bào)