日期:2014-05-17  浏览次数:20553 次

Html.RenderPartial与 Html.RenderAction的区别

Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的。

??? Html.RenderPartial是直接将用户控件嵌入到界面上:

??? <%Html.RenderPartial("LogOnUserControl");%>

??? <%Html.RenderPartial("~/Areas/Comm/Views/Shared/LogOnUserControl.ascx");%>

注意:用第一种方法时,用户控件必须放在调用者同一目录下,也可以放在View/Shared中。


??? Html.RenderAction则通过Controller中的Action来调用用户控件

Controller:----用户控件所在Controller

??? public ActionResult UserControl()
??? {
??????? return PartialView();
??? }

View:----调用用户控件的View

??? <%Html.RenderAction("UserControl","Controller", new with{.area = "Comm"});%>

?

?

总结:1、RenderPartial方法必须要Model有嵌套关系,而RenderAction可以分开写自己页面的Model,这样比较方便。

??????? 2、使用这两种方式如果是弹出页面的话,提交到Control后将会关闭弹出页面,所以还是使用????????????????????????????????? http://fhuan123.iteye.com/admin/blogs/1012413这种方式比较好。