关于asp.net MVC3 ----@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

这四个有啥区别,详细点,万分感谢... 这四个有啥区别,详细点,万分感谢 展开
 我来答
百度网友0255e73
2011-10-27 · TA获得超过403个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:463万
展开全部
1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
@Html.Partial 对应 @{Html.RenderPartial(....);}
@Html.Action 对应 @{Html.RenderAction(....);}
2、Html.Partial可以直接提供用户控件名作为参数,而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。
比如:
@Html.Action("UserInfoControl")
在对应的UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");
depluin
2011-10-27 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2477万
展开全部
1、Action 、 RenderAction
Action 方法以字符串的形式返回子视图,可以直接被呈现。RenderAction方法在适当的地方呈现子视图。
//One alternative (renders a string)
<%= Html.Action("ChildList") %>
//Another alternative (renders in place)
<% Html.RenderAction("ChildList"); %>

2、Partial 、 RenderPartial
Partial 方法以字符串的形式返回子视图,可以直接被呈现。RenderPartial方法在适当的地方呈现子视图。
<% Html.RenderPartial("视图名", Model.Products); %>
//或是指定UserControl的路径
<% Html.RenderPartial("~/Views/Product/ProductList.ascx【视图路径】", Model.Products);%>

3、区分:

1)、Action 、Partial 以<%=开头后面无需加; 。RenderAction、RenderPartial 以<%开头 后面加; 。

2)、Action、RenderAction加载方法的视图,执行Controller → Model → View的顺序,然后把产生的页面带回到原来的View中再回传。
Partial、RenderPartial直接加载视图文件内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d7702fd
2011-10-27 · 超过15用户采纳过TA的回答
知道答主
回答量:211
采纳率:0%
帮助的人:69.3万
展开全部
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");%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式