当前位置: 首页 > news >正文

ASP.NET中Html.Partial和Html.Action的一个区别

Html.Partial通常呈现的是静态内容,如果不指定的Partial方法中绑定的参数,默认为宿主页面的Model类型,因此如果Partial页面中的Model和主页面的Model类型不一致的话,一定要指定 Partial方法中绑定的参数,不然会报错。Html.Partial方法也不会触发Action方法。

Html.Action会调用Action方法,并且会返回一个View或者PartialView,或者Json等(根据具体Action中返回的值)

因此,如果使用不同的Model,可以考虑使用Html.Action来处理。下面是部分代码演示。


 
 
  1. @model MvcApplication1.Views.Test2.Test2_Index  
  2. @{  
  3.     ViewBag.Title = "Index";  
  4. }  
  5.  
  6. <h2>Test2-Index</h2> 
  7. @Model.i<br /> 
  8.  
  9. @***不触发action方法,PartialIndex.cshtml中绑定  
  10. 了Model和Index.cshtml绑定的Model不一样,  
  11. 因此必须指定自己的Model,否则报错。  
  12. *@  
  13.  
  14. @Html.Partial("PartialIndex",new MvcApplication1.Views.Test2.Test2_ParitalIndex())<br /> 
  15.  
  16. @*  
  17. **触发action方法,不指定Model的时候就传入一个新的Test2_ParitalIndex对象
  18. *@  
  19. @Html.Action("PartialIndex", "Test2")<br /> 

 

 
 
  1. @model MvcApplication1.Views.Test2.Test2_ParitalIndex  
  2. TestPartial<br /> 
  3. @Model.i<br /> 

 

 
 
  1. public class Test2Controller : Controller  
  2. {  
  3.     public ActionResult Index(Test2_Index vm)  
  4.     {  
  5.         return View("Index",vm);  
  6.     }  
  7.  
  8.     public ActionResult PartialIndex(Test2_ParitalIndex vm)  
  9.     {  
  10.         return View("PartialIndex", vm);  
  11.     }  

 


对于 下列这种方法,

 
 
  1. public ActionResult Index(Test2_Index vm)  
  2.         {  
  3.             return View("Index",VM);  
  4.         } 

如果Action方法Get请求的时候,没有设置绑定参数,则vm会得到一个默认想new

Test2_Index ()对象。如果设置了绑定参数,则按照设定值传递给Action方法。










本文转自cnn23711151CTO博客,原文链接: http://blog.51cto.com/cnn237111/1032013,如需转载请自行联系原作者



相关文章:

  • ffmpeg架构和解码流程分析
  • oracle维护表空间和数据文件
  • python *args 和**kwargs的用法
  • [C# 开发技巧]实现属于自己的截图工具
  • oracle日志管理
  • 关于git的一些想法
  • TCP协议详解(理论篇)
  • STM 32 IAP(对flash进行读写)
  • [C++][基础]1_变量、常量和基本类型
  • 安装cacti
  • ubuntu 之is not in the sudoers file
  • 我看.NET的瓶颈期
  • zookeeper的高可用部署
  • linux 安装jdk
  • [SQL调优] Maclean讲SQL调优精要
  • 2019年如何成为全栈工程师?
  • 5、React组件事件详解
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 基于HAProxy的高性能缓存服务器nuster
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 类orAPI - 收藏集 - 掘金
  • 力扣(LeetCode)21
  • 聊聊flink的TableFactory
  • 前端面试之闭包
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • Java数据解析之JSON
  • 回归生活:清理微信公众号
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma multi_compile #pragma shader_feature
  • (31)对象的克隆
  • (day 12)JavaScript学习笔记(数组3)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)80c52学习之旅-起始篇
  • (转)重识new
  • (转载)利用webkit抓取动态网页和链接
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .aanva
  • .Net Remoting常用部署结构
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET简谈设计模式之(单件模式)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @selector(..)警告提示
  • [Angular] 笔记 18:Angular Router
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [C#][DevPress]事件委托的使用