html.action 访问分部视图,MVC+EF 随笔小计——分部视图(Partial View)及Html.Partial和Html.Action差异...

Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用。

一般放在"Views/Shared"文件夹中以共享。

创建Partial View:一般直接右键"Views/Shared"文件夹添加分部视图。

使用Partial View有两类helper :

Html.Partial / Html.RenderPartial

Html.Action / Html.RenderAction

创建分部视图

如下图,创建 _PartialPageWidget.cshtml

ae08b40d888878ca8ff2fc0ab6ddc86b.png

1ee591c04c5e2ebcfc1d2f550d5e7b1a.png

我们做一个简陋的widget.

参考下面的图,定义widget的HTML结构。

8ab0f159bb973db1d686ae618b1820e1.png

借用了bootstrap中panel的样式,结构如下。

12c856473e634fd84df62416d4e12103.png

通过Html.Partial / Html.RenderPartial 使用

直接应用Html.Partial或Html.RenderPartial辅助方法比较简单。

打开之前建好的Views/MVCDemo/Index.cshtml文件,添加如下内容:

e524997c2bf47e637fd6131f92f2d658.png

显示结果:

2f8a1d20c5574dc2870af0ef149f453a.png

通过Html.Action / Html.RenderAction 使用

通过Html.Action/Html.RenderAction使用稍微复杂一点,分成两步。

在要显示的View所对应的Controller中心增加一个Action.

还用上面这个页面,我们在MVCDemoController.cs中增加一个Action

4b8d1a0082cdb3f85b4ab6e6aa0025c6.png

做个简单的说明:

[ChildActionOnly] 表示这个Action只应作为子操作进行调用。也就是说直接通过 controller/action这样的网址是不能访问的,会提示只能由子请求访问的错误。

必须返回一个PartialView

在View中添加相关代码

9778caace2a051ec1b55df697f7cbaef.png

显示结果和上一种方法一样

190128b022c209155c0e910b097ef95c.png

两种使用方式小结

当View中引用了一个或多个分部视图时,此View与各分部视图默认得到一样的数据,也就是说View及其中所有的Partial View默认情况下共享View中的ViewData和ViewBag.

需要使View和其中引入的Partial View有不同的数据,需要通过Html.Action/Html.RenderAction辅助方法, 并在对于被调用的Action中设置对应的数据。

另外还有几点需要注意:

XXX和RenderXXX的区别在于,一个是直接返回字符串,另外一个是直接写入到相应输出流,因此不能直接放在代码表达式中,必须放在代码块中。

前面的示例中两种写法是等价的。RenderXXX有轻微的性能优势,在大量的RenderXXX运行时,才能反映出性能上的优势。

Partial/RenderPartial通常在单独的文件夹中应用视图标记来帮助View渲染视图模型的一部分。

Action/RenderAction执行单独Controller中的Action来显示结果,提供了更多的灵活性,例如利用单独的Controller传递不同值。文章最后我们会举个例子说明。

Partial/RenderPartial和Action/RenderAction的参数分别是 partialView和 Action的名字。当然还有其他的重载函数,我们只说最常用的。应用时可以按照我们前面举的例子。

Html.Partial和Html.Action差异举例

最后我们举个例子说明两种用法的差别。

新建一个Partial View

7de412b0f07b16c81b952d4a481c0eed.png

Controller中新建两个Action,SharedDateDemo和PartialViewDate.

根据SharedDateDemo生成主View, PartialViewDate供Html.Action调用

4ea9e90d7adcc7884ead3f02e0a54924.png

主View: SharedDateDemo.cshtml分别显示

主View的时间;

用Html.Partial调用Partial View的时间;

用Html.Action调用Partial View的时间。

82d3a2a0dd7f550b43289a008a2e14ba.png

显示结果:

68a4a0b3842b2a6dc01b6d2e5e50109f.png

上面结果可以清晰的看到:

View及其中所有的Partial View默认情况下共享View中的ViewData和ViewBag

可以通过Html.Action, 配合被调用的Action改变传递不同的数据。

Html.Partial使用方便,在不需要改变数据内容时非常方便。

Html.Action 使用更加灵活,可以根据业务要求按需定制Partial View显示内容。

来源:https://www.cnblogs.com/Leon-Hu/p/5575311.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

svm核函数gamma参数_非线性SVM与核函数

前面几篇我们介绍的都是线性支持向量机,换句话说,我们总可以用一条线或一个超平面将数据进行分割。如下图所示:但在更多情况下,有些数据是无法进行线性分割的。比如下面的例子:也就是说,你永远无法用一条直…

a查询计算机主机路由表信息,计算机网络主机A向其他主机B进行通信的流程

当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址如(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地…

使用Java将数据流式传输到HPCC

高性能计算集群(HPCC)是类似于Hadoop的分布式处理框架,除了它运行以自己的称为企业控制语言(ECL)的特定领域语言(DSL)编写的程序外。 ECL很棒,但是偶尔您会想用其他语言来执行繁重的…

anychart说明文档

今天学习anychart&#xff0c;在慧都控件网上看有关文档&#xff0c;模仿试着做了个demo&#xff0c;发现慧都空间网的“Flash图表AnyChart应用教程六&#xff1a;创建圆形仪表”里的指针“<pointer type"bar" value"35" color"Gray" />”…

h5 神策埋点_咕咚技术总监唐平麟:神策使我们的数据平台成本降低约 75%,迭代效率提升 2~3 倍...

在这个数据爆炸的时代&#xff0c;数据成为各行各业出奇制胜的法宝&#xff0c;运动行业也不例外&#xff0c;那么大数据对运动业有什么价值呢&#xff1f;咕咚作为智能运动的倡导者和先行者&#xff0c;致力于成为全球领先的运动大数据和服务平台&#xff0c;现已为超过 1.5 亿…

JavaFX,Jigsaw项目和JEP 253

因此&#xff0c; Java 9可能会破坏您的代码 …… 如果您的项目使用JavaFX&#xff0c;则这尤其可能&#xff0c;因为许多自定义项和自制控件都需要使用内部API。 借助Project Jigsaw&#xff0c;这些内容将无法在Java 9中访问。幸运的是&#xff0c; Oracle在几天前宣布了 JE…

微型计算机技术6,微型计算机技术课后习题6-8章答案.ppt

微型计算机技术课后习题6-8章答案MOV AL L2: MOV CX,8 L1: OUT 20H,AL CALL DELAY2S ROR AL,1 LOOP L1 JMP L2 习题:8.24 8253A-5的计数通道0连接如图习8-4所示,试回答:(1)计数通道0工作于何种方式&#xff0c;并写出工作方式名称&#xff1b;(2)写出计数通道0的计数初值(列出计…

免费的.NET混淆和反编译工具

免费的.NET代码混淆工具&#xff1a; Eazfuscator.NET http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.aspx Skater .NET Obfuscator Freeware Light Edition http://www.rustemsoft.com/freeware_obfuscator.htm VisualStudio2010中集成的Dotfuscator…

ios 获取是否静音模式_果粉感动:部分iOS“新功能”早已被安卓玩坏

一年一度的WWDC大会如期举行&#xff0c;今年不仅展示了全新的iOS、iPadOS以及macOS。当然&#xff0c;具体更新了什么相信早已经被各大媒体报道出来&#xff0c;本文并不是重复报道&#xff0c;相反的&#xff0c;iOS经过了13代的发展&#xff0c;有开创性的动作&#xff0c;也…

怎么把桌面计算机隐藏文件,怎么隐藏桌面文件夹名称?隐藏桌面图标下的文字的详细教程...

怎么隐藏桌面文件夹名称&#xff1f;桌面图标一多就会显得很凌乱&#xff0c;特别有的软件名称很长&#xff0c;那么有没有什么方法可以让桌面看起来很清爽呢&#xff1f;当然是有&#xff0c;去掉桌面应用的名称不就简洁清爽了&#xff1f;下面就教大家不利用第三方软件的情况…

Hazelcast入门指南第7部分

这是解释如何使用Hazelcast的系列文章的续篇。 如果一个人没有阅读其他六个帖子&#xff0c;请转到目录并阅读其他帖子。 不同的地图种类 Hazelcast的MultiMap打破了以前使用java.util.Collection接口的常规方式。 实际上&#xff0c;在我看来&#xff0c;MultiMap的概念完全打…

JS将指定的时间戳转为UTC时间

Js中获取时间戳可用var dayMiliseconds parseInt(new Date().valueOf());Js的时间戳单位为毫秒&#xff08;1s 1000 ms&#xff09;,下面是一个将制定的格式转化成UTC时间的函数。 //format the date string from webservice to UTC time; function toUTCtime(dateStr) {//Da…

02365计算机软件基础,自考02365《计算机软件基础(二)》习题解答.pdf

1。互交机人了便方 &#xfffd;口接的间之统系机算计和户用为作还统系作操时同 &#xfffd;理管的源资类四等件文 &#xfffd;备设O/I &#xfffd;器储存 &#xfffd;机理处对现实 &#xfffd;源资件软 、件硬的机算计理管和制控统系作操 &#xfffd;】答解【&#xfff…

window xp系统安装php环境_Windows Server 2003及XP系统如何安装SQL Server 2000数据库?

年头年初节假日就是小编的梗&#xff0c;忙得不可开交&#xff0c;这不越冷越刮风昨天服务器又崩了&#xff0c;折腾了一天安装好Windows Server 2003和IIS(这系统是有点老了&#xff0c;主要是单位机子和各系统也有点年头了&#xff0c;没办法)&#xff0c;做好各项配置后总算…

REST服务的自动化测试

尽管我是Java和Scala开发人员&#xff0c;但我仍然对软件测试充满热情。 如果更精确-Web应用程序。 开发Web应用程序并确保应用程序具有良好的质量真的很有趣。 当我开始职业生涯时&#xff0c;最受欢迎的Web架构是MVC&#xff08;模型视图控件&#xff09;&#xff0c;并且非…

iOS 为tableview添加新的cell类

网址&#xff1a;http://www.howzhi.com/group/iosDevelop/discuss/2068转载于:https://www.cnblogs.com/liukunyang/p/3363881.html

怎么写计算机教学论文,如何写好一篇关于信息技术教育的论文

论文是一个汉语词语&#xff0c;拼音是ln wn&#xff0c;古典文学常见论文一词&#xff0c;谓交谈辞章或交流思想。当代&#xff0c;论文常用来指进行各个学术领域的研究和描述学术研究成果的文章&#xff0c;简称之为论文。今天小编给大家以信息技术教育为题的论文模板&#x…

JAXB做错了; 尝试Xembly

JAXB是一项具有10年历史的Java技术&#xff0c;它使我们能够将Java对象转换为XML文档&#xff08;编组&#xff09;并返回&#xff08;取消编组&#xff09;。 我认为这项技术基于setter和getter&#xff0c;并且通过将对象转换为被动数据结构而违反了面向对象编程的关键原理。…

rnn神经网络 层次_精讲深度学习RNN三大核心点,三分钟掌握循环神经网络

每天给小编五分钟&#xff0c;小编用自己的代码&#xff0c;让你轻松学习人工智能。本文将剖析循环神经网络(RNN)的工作原理&#xff0c;精讲循环神经网络的特点和实现方式。野蛮智能&#xff0c;小白也能看懂的人工智能。循环神经网络从何而来&#xff1f;我在我的这篇文章介绍…

我的偶像特质

1、泰国英拉&#xff1a;谦和品质&#xff0c;诚实&#xff0c;隐忍&#xff0c;有外交风范。 此前默默无闻的英拉依靠选举机器与个人魅力的完美协作&#xff0c;英拉完成了从女高管到女总理的身份飞越。 对手&#xff1a;“英拉从未利用媒体攻击商业对手&#xff0c;而是尽量避…