https://www.2cto.com/kf/201702/602449.html

Partial 和RenderPartial:

这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样
Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上

@Html.Partial("ViewName")

RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View

@{
Html.RenderPartial("ViewName");
}

这两个方法没有用到Controller, 是直接把一个View(Page) 给加进来
而RenderAction 有点不一样, 这是一个Action, 所以会用到Controller 之后再回传一个页面

publicclassChildActionOnlyTestController:Controller

{

  [ChildActionOnly]

  publicActionResultGetSupplierList()

  {

    varcontroller=newSupplierController();

    returncontroller.SupplierList();

  }

}

RenderPartial和RenderAction两者的相同点

通常都被用来显示一个功能相对独立的“块”,比如说显示菜单或者导航条。 两者输出的结果都被作为调用的View的一部分显示。

两者的不同点

  1. RenderPatial的数据来自于调用的View,而RenderAction来自自己。
  2. RenderAction会发起一个新的Request,而RenderPatial不会。

@Html.Partial/@{Htmt.RenderPartial()} @Html.Partial用于将分部视图渲染为字符串 @{Html.RenderPartial}将分布视图直接写入响应输出流,所以只能直接放在代码块中,不能放在表达式中(返回值是void) RenderPartial因为是直接写在响应流中,所以性能会更好(微量影响),而Partial不用写在代码块中,所以更方便 @Html.Action()/@Html.RenderAction() 和Partial与RenderPartial类似,但是因为会通过Action,所以更灵活,可以利用控制器上下文。 在Action中可以通过IsChildAction来判断是被Url直接调用还是被Action()/RenderAction()调用 可以利用重载直接参数给Action。 RenderAction优先使用ActionNameAttribute。 Action中使用return PartialView()指定分部视图,在_ViewStatrt.cshtml中指定的Layout会无效。 4种PartialView对比:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// PartialView:
Just a PartialView Test!@ViewBag.Test
@ViewBag.Test
// View:
@{Html.RenderPartial("ViewUserControl1");} @Html.Partial("ViewUserControl1")
@{Html.RenderAction("ViewUserControl1");} @Html.Action("ViewUserControl1")
// Controller:
[ChildActionOnly]//防止直接调用
public ActionResult ViewUserControl1()
{
    ViewBag.Test = "(Action)调用";
    return PartialView();
}

效果:

Asp.netMVC中Html.Partial,RenderPartial,Action,RenderAction区别和用法相关推荐

  1. Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】

    Html.partial和RenderPartial的用法与区别 Html.partial和RenderPartial都是输出html片段,区别在于 Partial是将视图内容直接生成一个字符串并返回 ...

  2. MVC中Html.Partial, RenderPartial, Action,RenderAction 区别

    1.  Html.partial和RenderPartial的区别 Html.partial和RenderPartial都是输出html片段,区别在于: @Html.Partial用于将分部视图渲染为 ...

  3. Partial RenderPartial Action RenderAction 区别和用法

    为什么80%的码农都做不了架构师?>>>    区别: 1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给嵌入进来. 2.Partia ...

  4. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)

    mvc renderaction   renderpartial  杂谈      Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. ...

  5. MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. 1. Html.RenderPartial是直接将用户控件嵌入到界面上: <% ...

  6. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

  7. 转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    对这四个的区别做一个总结,清理一下思路,方便以后使用: 1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:     @Ht ...

  8. RenderPartial和RenderAction区别

    本篇参考了 Shailendra Chauhan和 Jag Reehal的博文. RenderParital和RenderAction的共同点: ※ 都能返回部分视图 ※ 返回的部分视图和主视图共用一 ...

  9. Python中list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

最新文章

  1. 封闭、缺少代码审查,硕士刚毕业的“老”工程师揭露机器学习残酷现状!
  2. Biopython(py012)统计碱基数
  3. C#实现快速重命名JPEG文件
  4. HTTP协议和web工作原理
  5. java 递归 堆栈_尾递归函数仍在Java吹堆栈
  6. 在上司面前硬不起来?教你如何快速将字符串转换为可执行代码
  7. poj 3411 Paid Roads (dfs)
  8. Microsoft.Ink namespace
  9. sapply lapply_R编程中的apply(),sapply(),lapply()和tapply()函数
  10. 【渝粤教育】电大中专计算机职业素养 (7)作业 题库
  11. 四川的软考成绩终于出来了
  12. nslookup测试网络命令
  13. 金融时间序列及Matlab实现
  14. php如何验证银行卡号,PHP效验银行卡卡号
  15. 使用LSTM模型进行产品销售额的预测产品订单效益最大化
  16. 应届生面试该注意的小技巧
  17. Android仿支付宝支付密码输入框
  18. 损坏的映像 错误0xc0000020
  19. python量化交易书籍推荐知乎_GitHub - XingkaiLiang/vnpy: 基于python的开源量化交易平台开发框架...
  20. unzip:unzip解压文件到指定目录

热门文章

  1. OpenCV4每日一练day11:单目位姿估计
  2. oracle去除检查非空,oracle 主键,非空,检查,唯一,默认,外键约束
  3. python ant_('python,-ANT--编程字典',)
  4. r 重命名 列名_R-reshape2
  5. 一款显示游戏计算机占用软件,玩游戏占用电脑内存多怎么办
  6. php调用restful接口_如何使用PHP编写RESTful接口
  7. 怎么分辨是不是外包工司_花2万做外装农村自建房秒变别墅,农村工头:这还让人怎么混?...
  8. python对日期型数据排序_如何对日期执行数学运算并用Python对它们进行排序?
  9. 计算机组装错题整理,数学排列组合部分错题精选.docx
  10. java 泛型 泛型擦除(type erasure)