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,如需转载请自行联系原作者



相关文章
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
749 7
|
前端开发
HTML 颜色的不用写法和最终显示效果的区别
HTML 中色彩的指定有多种方式,包括十六进制(如 `#FF5733`)、RGB(如 `rgb(255, 87, 51)`)、RGBA(如 `rgba(255, 87, 51, 0.5)`)、HSL(如 `hsl(14, 100%, 60%)`)、HSLA(如 `hsla(14, 100%, 60%, 0.5)`)以及直接使用颜色名称(如 `orange`)。这些方法虽然最终显示效果可能相同,但在使用场景和灵活性上各具优势。十六进制和 RGB 更常用,HSL 则便于调整颜色属性,而 RGBA 和 HSLA 增加了透明度选项,颜色名称则提高了代码的可读性。
|
前端开发 JavaScript
html中id和class的相同和不同之处及用法的规范与区别
在HTML中,`id`和`class`都用于标识和选择元素,但存在一些关键差异。
WK
|
存储 移动开发 前端开发
HTML5和CSS5有什么区别
HTML5和CSS5在网页设计中扮演不同角色。HTML5是超文本标记语言的第五版,通过新特性如实时更新、跨平台运行及更好的安全性等,定义网页内容和结构。尽管常说CSS5,实际最新的CSS版本包含多个模块如CSS Grid和Flexbox,主要用于控制网页布局和样式,提供强大的选择器、动画支持和响应式设计,与HTML5相辅相成,共同构建现代网页的基础架构。
WK
539 3
|
开发框架 前端开发 中间件
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
428 1
|
移动开发 前端开发 API
React路由和HTML5 History API有什么区别
【8月更文挑战第11天】React路由和HTML5 History API有什么区别
290 1
|
网络协议 大数据 网络架构
桥接模式和NET模式的区别
桥接模式和NET模式的区别
1158 0
|
移动开发 前端开发 JavaScript
|
移动开发 编解码 UED
HTML5 中字体大小单位 em 和 rem 的区别
【8月更文挑战第24天】
1131 0
|
XML 数据格式 开发者