.NET MVC (View的查找和其他类型的ActionResult)

本文详细探讨了ASP.NET MVC中View的查找机制,包括return View()如何找到对应的视图文件,并介绍了如何传递Model。同时,文章讨论了不同类型的ActionResult,如RedirectResult、ContentResult、FileResult以及JsonResult的使用场景和注意事项,特别是JsonResult在处理日期格式和循环引用问题上的挑战。最后,对比了RedirectToAction和return View的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.View的查找

  1. return View()会查找Views的Controller名字的Action的名字的cshtml;
  2. return View(“Action1”),查找Views的Controller名字下的“Action1.cshtml”,如果找不到则到特殊的Shared文件夹下找“Action1.cshtml”
  3. return View(“Action1”)中如何传递model?return View(“Action1”,model)。陷阱:如果model传递的是string类型,则需要return View(“Action1”,(object)str)为什么?看一下重载!

注意return View(“Action1”)不是重定向,浏览器和服务器之间只发生了一次交互,地址栏还是旧的Action的地址。这和重定向return Redirct("/Index/Action1");不一样

应用:执行报错,return View(“Error”,(object)msg) 通用的报错页面。为了防止忘了控制重载,封装成一个通用方法。

二.其他类型的ActionResult

  1. View()是一个方法,它的返回值是ViewResult类型,ViewResult继承自ActionResult,如果你确认返回的是View(),返回值写成ViewResult也行,但是一般没这个必要,因为那样就不灵活了。因为ViewResult还有其他子类。
  2. RedirectResult,重定向,最终就是调用respon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆皮没有豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值