当前位置:  编程技术>.net/c#/asp.net

C#中Html.RenderPartial与Html.RenderAction的区别分析

    来源: 互联网  发布时间:2014-10-31

    本文导语:  本文较为详细的讲解了C#中Html.RenderPartial与Html.RenderAction的区别,具体分析如下: Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的。 Html.RenderPartial是直接将用户控件嵌入到界面上: 在页面直接渲染 视...

本文较为详细的讲解了C#中Html.RenderPartial与Html.RenderAction的区别,具体分析如下:

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

Html.RenderPartial是直接将用户控件嵌入到界面上:

在页面直接渲染 视图结果  视图必须存在!





注意:用第一种方法时,用户控件必须放在调用者同一目录下,也可以放在View/Shared中。

Html.RenderAction则通过Controller中的Action来调用用户控件

在页面直接渲染 Action的结果  可以指定Controller  返回的可以是继承自ActionResult的所有子类型

Controller:----用户控件所在Controller

public ActionResult UserControl()
{
return PartialView();
}

View:----调用用户控件的View



个人比较喜欢用RenderPartial

RenderPartial和RenderAction都是在Asp.net Mvc中用来显示PartialView的方法,所以在什么时候用哪个方法就是碰到的第一个问题。而要做出正确的选择就需要对这两个都有充分的了解,并且 知道其异同点。这也是本文的主题。

两者的相同点:

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

两者的不同点:

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

如何选择:

根据两者不同点中的第二点,由于RenderAction会调用一个新的Action方法,而Asp.net Mvc中Action是最小的缓存单位,因此如果某一个“块”的数据比较固定,不会因为访问者的不同而发生变化,那么这时就是使用 RenderAction的时候了。 题外话,对于RenderAction会发起一个新的Request,感觉对调用页面的流程有点破坏。一个View在显示的时候,自己又发起一个 Request去获取数据来显示,显然有点破坏了作为一个View的原则.


    
 
 

您可能感兴趣的文章:

  • C#实现过滤html标签并保留a标签的方法
  • C#中除去所有在HTML元素中标记
  • C#实现压缩HTML代码的方法
  • c# 动态添加非标准html控件的代码
  • c#使用htmlagilitypack解析html格式字符串
  • C#实现下载网页HTML源码的方法
  • C#将html table 导出成excel实例
  • C#中HTML字符转换函数分享
  • 提取HTML代码中文字的C#函数
  • 提取html中文字 C#自定义函数
  • c#使用nsoup解析html乱码解决方法分享 nsoup教程
  • 使用C#获取网页HTML源码的例子
  • c# 正则html标签剔除方法的实现代码
  • C#读取HTML文件内容写入记事本的代码
  • c#远程html数据抓取实例分享
  • C#下解析HTML的两种方法介绍
  • C#使用MailAddress类发送html格式邮件的实例代码
  • C#正则表达式匹配HTML中的图片路径,图片地址代码
  • c#利用system.net发送html格式邮件
  • C#实现将PPT转换成HTML的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing.text.html类html.tag的类成员方法: html定义及介绍
  • 基于HTML5的幻灯片 html5slides
  • java命名空间javax.swing.text.html类html.tag的类成员方法: html.tag定义及介绍
  • 基于 KBEngine 的 HTML5 插件 kbengine_html5
  • java命名空间javax.swing.text.html类html.unknowntag的类成员方法: html.unknowntag定义及介绍
  • 让 IE 支持 HTML5 html5shim
  • java命名空间javax.swing.text.html类htmleditorkit.inserthtmltextaction的类成员方法: html定义及介绍
  • HTML文档格式化工具 HTML Tidy
  • java命名空间javax.swing.text.html类html的类成员方法: getallattributekeys定义及介绍
  • HTML5 在线工具 html5demos
  • java命名空间javax.swing.text.html.parser类dtd的类成员方法: html定义及介绍
  • 框架网页中如何使用sendredirect(a.html),使得a.html不显示在框架中,是整页显示!
  • java命名空间javax.swing.text.html类html.tag的类成员方法: comment定义及介绍
  • Sar数据转HTML Sar2html
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: color定义及介绍
  • 关于editplus的使用,编译完生成.class后,我又编写了html来执行applet,将其保存,如何经ie解释打开(直接在editplus上操作)不是显示html语言呀
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: vlink定义及介绍
  • 去除HTML标签删除HTML示例代码
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: rel定义及介绍
  • python实现html转ubb代码(html2ubb)
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: src定义及介绍
  • asp.net去除HTML标签删除HTML小例子


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3