`

@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

 
阅读更多

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

 对这四个的区别做一个总结:

1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
    @Html.Partial 对应 @{Html.RenderPartial(....);}
    @Html.Action 对应 @{Html.RenderAction(....);}

2、Action、RenderAction加载方法的视图,执行Controller → Model → View的顺序,然后把产生的页面带回到原来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

3.  Html.Partial可以直接提供用户控件名作为参数,而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

4、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。

5、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:
@Html.Action("UserInfoControl")
在对应的UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");

分享到:
评论

相关推荐

    Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法

    ### ASP.NET MVC中Html.Partial, RenderPartial, Action, RenderAction 的区别与用法 #### Html.Partial 和 RenderPartial 1. **Html.Partial** - **定义**:`Html.Partial` 方法用于将一个部分视图(partial ...

    C#中Html.RenderPartial与Html.RenderAction的区别分析

    在C#的ASP.NET MVC框架中,`Html.RenderPartial`和`Html.RenderAction`都是用于在视图(View)中嵌入部分视图(Partial View)的辅助方法,以实现界面的模块化和代码重用。然而,它们之间存在一些重要的区别,这决定...

    MVC页面之间参数传递实现过程图解

    @Html.RenderPartial("Boot", new { Name = "John", Sex = "Male" }) 在上面的代码中,我们使用Html.RenderPartial方式将参数传递到Boot页面中,并将参数包装成一个匿名对象。 但是,使用Html.RenderPartial方式...

    MVC页面之间参数传递解析

    RenderAction通过调用Action并传递参数,而RenderPartial直接将参数传给部分视图的Model。在实际开发中,应根据具体需求选择合适的方法。例如,如果需要执行额外的业务逻辑或数据处理,RenderAction可能是更好的选择...

    asp.net mvc

    <%: Html.RenderPartial("_PartialView") %> ``` **效果:** 这同样不会直接生成 HTML 输出,而是加载指定的部分视图并将其渲染到当前视图中。 ##### 12. `Html.RenderUserControl` 用于在当前视图中渲染一个用户...

    ASP.NET MVC中的AJAX应用

    关于何时使用`RenderAction`和`RenderPartial`,一般原则是:如果你需要在视图中展示的数据是通过额外的动作方法计算或获取的,且这个数据与当前视图的数据无关,那么应该使用`RenderAction`。相反,如果只是简单地...

Global site tag (gtag.js) - Google Analytics