zoukankan      html  css  js  c++  java
  • ASP.NET MVC 部分视图

    【部分视图】

    ASP.NET MVC 里的部分视图,相当于 Web Form 里的 User Control。我们的页面往往会有许多重用的地方,可以进行封装重用。使用 部分视图 :  1. 可以简写代码。2. 页面代码更加清晰、更好维护。


    【如何使用】

    在视图里有多种方法可以 加载部分视图,包括:

    Partial()  Action()  RenderPartial()  RenderAction()  RenderPage() 方法。

    以下是这些方法的差别:

    Partial 与 RenderPartial 方法

    1. Razor 语法:@Html.Partial() 与 @{Html.RenderPartial();}

    2. 区别:Partial 可以直接输出内容,它内部是 将 html 内容转换为 string 字符(MVCHtmlString),然后缓存起来,      最后在一次性输出到页面。显然,这个转换的过程,会降低效率,所以通常使用 RenderPartial 代替。


    RenderPartial 与 RenderAction 方法

    1. Razor 语法:@{Html.RenderPartial();}  与 @{Html.RenderAction();}

    2. 区别:RenderPartial 不需要创建 Controller 的 Action ,而 RenderAction 需要在 Controller 创建要加载的 Action。

       RenderAction 会先去调用 Contorller 的 Action ,最后再 呈现视图,所以这里 页面会在 发起一个链接。

      如果这个部分视图只是一些简单 的 html 代码,请使用 RenderPartial。 但如果这个部分视图 除了有 html 代码外,     还需要 通过 读取数据库里的数据 来渲染,就必须使用 RenderAction 了,因为 它可以在 Action 里调用 Model里的     方法读取数据库,渲染视图后在呈现,而 RenderPartial 没有 Action,所以无法做到。


    RenderAction 与 Action

    1. Razor 语法:@{Html.RenderAction();}  与 @Html.Action();

    2. 区别:Action 也是直接输出,和 Partial 一样,也存在一个转换的过程。不如 RenderAction 直接输出到 当前           HttpContext 的效率高。


    RenderPage 与 RenderPartial 方法

    1. Razor 语法:@{Html.RenderPartial();}  与 @RenderPage()

    2. 区别:也可以使用 RenderPage 来呈现部分,但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传        递。而 RenderPartial 可以使用原来视图的 Model 和 ViewData。


    【总结】

    ASP.NET MVC 引入的 部分视图(Partial View)和 布局 (Layout)其实都不是新的概念,相当于是 Web Form 里的User Control 和 Master Page 。原理是一样的,只是 实现技术有一点差别。

  • 相关阅读:
    用 ArcMap 发布 ArcGIS Server FeatureServer Feature Access 服务 PostgreSQL 版本
    ArcMap 发布 ArcGIS Server OGC(WMSServer,MapServer)服务
    ArcScene 创建三维模型数据
    ArcMap 导入自定义样式Symbols
    ArcMap 导入 CGCS2000 线段数据
    ArcMap 导入 CGCS2000 点坐标数据
    ArcGis Server manager 忘记用户名和密码
    The view or its master was not found or no view engine supports the searched locations
    python小记(3)操作文件
    pytest(2) pytest与unittest的区别
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804402.html
Copyright © 2011-2022 走看看