ASP.NET MVC Core的ViewComponent【视图组件】

  • 模仿模型:

    • 概念上讲,在ASP.NET时代WebForm中的ascx【用户的自定义控件】,到了后来的MVC框架,提供了【partial view分部视力】,到现在MVC Core中的【ViewComponent视力组件】

    • 使用场景:导航菜单、标签云、登陆面板、购物车、最近发表的文章
    • MVC中载入分部视力的2种方法及缺点:

      • Html.action():会通过HtmlHelper对IIS再进行一次处理要求,通过Server.Execute方法,因此,使用它会重新执行一遍controller的生命周期(会生产性能问题,因为partial view只提供视图的重用,业务数据还是依赖于action提供

      • Html.partial():会通过HtmlHelper直接读取*.cshtml文件,直接执行该检视并取得结果。

    • ViewComponent优势:
      • ViewComponent独立于其所在的View页面和Action,更不会跟当前的Controller有任何的瓜葛(不能独立使用的,必须在一个页面内被调用
      • 保证了控制器和视图分离,对测试友好。
    • ViewComponent组成
      • 类(通常派生自ViewComponent)
      • 返回结果(通常为视图). 像控制器
    • 页面中应用:我们把调用语句放在_Layout.cshtml页面中@await Component.InvokeAsync("Poco")
  • 相关文章:

猜你喜欢

转载自www.cnblogs.com/gougou1981/p/12187160.html