`

@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)的辅助方法,以实现界面的模块化和代码重用。然而,它们之间存在一些重要的区别,这决定...

    asp.net mvc 分部视图的基本使用

    这两个方法的区别在于`@Html.Partial`不执行视图的写入操作,而`@Html.RenderPartial`则会。例如: ```html <!-- 在Index.cshtml中 --> @Html.Partial("_Sidebar") ``` 这里,`_Sidebar`是分部视图的名称...

    asp.net mvc @html用法

    `RenderPartial` 方法用于在当前视图中嵌入另一个视图。 ```csharp @Html.Partial("_UserControls") ``` **6. 路由生成** `RouteLink` 方法用于根据路由规则生成超链接。 ```csharp @Html.RouteLink("前往产品页...

    @tf.custom_gradient

    @tf.custom_gradient ...由于数值不稳定性,x=100处的梯度(▽f=∂f∂xi⃗\bigtriangledown f=\frac{\partial f}{\partial x}\vec i▽f=∂x∂f​i)由函数得到的值为NanNanNan 解决方法 使用@custom_gradi

    【ASP.NET编程知识】ASP.NET MVC学习教程之Razor语法.docx

    @Html.Partial(“Auction”, auction); } ``` 五、显示数据 MVC 架构分为三层,模型、视图和控制器。三层之间彼此分离且协同工作,其中,就需要控制器担当“协调”的角色,视图将请求交给控制器,控制器对模型...

    ASP.NET MVC中分部视图的应用方法

    同时,通过`@Html.Partial()`和`@Html.Action()`方法,可以在多个视图中轻松插入和控制这些分部视图,从而提升开发效率和应用的可维护性。无论是对于初学者还是有经验的开发者,掌握分部视图的使用都是ASP.NET MVC...

    Evans.-.Partial.differential.equations.djvu

    Evans.-.Partial.differential.equations.djvu

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

    "MVC页面之间参数传递实现过程图解" MVC页面之间参数传递实现过程图解是指在MVC模式中,页面...我们可以通过Html.RenderAction方式和Html.RenderPartial方式来实现参数传递,但是需要注意它们之间的区别和使用方法。

    MVC3分部视图简单实例

    两者的区别在于,`Html.Partial`是异步执行,而`Html.RenderPartial`是同步执行。在这个例子中,我们将使用`Html.Partial`: ```html @{ ViewBag.Title = "首页"; } <!DOCTYPE html> <html lang="zh-CN"> ...

    XunLeiWebSetup10.1.33.770gw.exe.6ksmrhi.partial

    XunLeiWebSetup10.1.33.770gw.exe.6ksmrhi.partial

    K10Stat091 (1).zip.9quoixb.partial

    K10Stat091 (1).zip.9quoixb.partial

    MVC 3模板页和分部页的使用1

    在视图页面中,可以通过`@Html.Partial`或`@Html.Action`来调用分部页。例如: ```csharp @Html.Partial("_Pagination", (BiosealMVCWeb.Models.Pagination)ViewBag.Pagination) @Html.Action("NewsMenu", new { ...

    MVC页面之间参数传递解析

    本文将重点讨论两种方法:Html.RenderAction和Html.RenderPartial,以及它们在传递参数时的区别。 **一、Html.RenderAction方式** Html.RenderAction方法用于在当前视图中嵌入另一个Action的结果,而不是直接呈现...

    Allocation Removal by Partial Evaluation in a Tracing JIT - 2010 (bolz-allocation-removal)-计算机科学

    Allocation Removal by Partial Evaluation in a Tracing JITCarl Friedrich Bolza Antonio Cunia Maciej Fijałkowskib Michael LeuschelaSamuele Pedronic Armin Rigoaa Heinrich-Heine-Universität Düsseldorf,...

    newifi_Y1_Build20150506_V1.6.13.20_beta_sign.bin.z6azwr9.partial

    newifi_Y1_Build20150506_V1.6.13.20_beta_sign.bin.z6azwr9.partial

    关于调整部分县城街长责任分工的通知.pdf.8ga65a9.partial

    关于调整部分县城街长责任分工的通知.pdf.8ga65a9.partial

    @Html的用法

    <%Html.RenderPartial("PartialView");%> 12. Html.TextArea() 用于创建一个文本区域框,第一个参数是文本区域的名称,第二个参数是一个匿名对象,用来设置文本区域的样式或其他属性。 <%=Html.TextArea("myTxtArea...

    浅谈python标准库--functools.partial

    本文重点讨论`functools.partial`,这是一个非常实用的功能,它允许我们预设函数的一部分参数,从而创建出新的、更简单的函数。 一、`functools.partial`的简单介绍 `functools.partial`的主要作用是创建一个...

Global site tag (gtag.js) - Google Analytics