ASP.NET MVC Razor 视图引擎中的Html.Partial,Html.RenderPartial,Html.Action, Html.RenderAction分别是什么?有什么区别?

ASP.NET MVC 作者: Rector 1110阅读 0评论 0收藏 收藏本文 编辑

郑重申明:本文未经许可,禁止任何形式转载

概述

Html.Partial,Html.RenderPartial,Html.Action, Html.RenderAction 这几个都是ASP.NET MVC Razor中的部分视图引擎
Html.Partial 返回的是字符串(String)。而 Html.RenderPartial 会调用ASP.NET MVC内部的Write方法返回void,以下是两者的使用示例:

// Razor syntax
@Html.Partial("ViewName")
@{ Html.RenderPartial("ViewName");  }

// WebView syntax
<%: Html.Partial("ViewName") %>
<% Html.RenderPartial("ViewName"); %>

上以代码版在页面上的输出是完全相同的。
但是 Html.Partial可以存储由后端输出变量,而 Html.RenderPartial 不可以。 Html.RenderPartial 会在执行的时候,直接把输出写进Response流中。

以上原理同样适用于 Html.ActionHtml.RenderAtion

如何使用

  • 1.对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;
  • 2.对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
  • 3.使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:
@Html.Action("UserInfoControl")

在对应的UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView(“LogOnUserControl”);
登录后,可以retun PartialView(“UserInfoControl”);

阅读了该文章的人还浏览了...

本文永久链接码友网 » ASP.NET MVC Razor 视图引擎中的Html.Partial,Html.RenderPartial,Html.Action, Html.RenderAction分别是什么?有什么区别?

发布于: 2017-12-28 09:29:00
分享扩散: