首页 / ASP.NET MVC / 正文

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

5140 发布于: 2017-12-28 读完约需3分钟

概述

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”);

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: jQuery在动态生成的DOM元素上绑定Event事件

下一篇: HTML5中使用jQuery ajax异步上传文件,为什么在后台只获取到了文件名而没有文件内容?

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册