加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Visual Studio 2015:MVC 6 Scaffolding切换到使用Action

发布时间:2020-12-15 04:37:32 所属栏目:百科 来源:网络整理
导读:我刚刚安装了VS 2015,我注意到MVC6的自动脚手架有一些变化.我很好奇为什么微软会做出这些改变,因为我认为如果他们决定做一些改变,可能会有一些我可能不知道的好处. In VS 2013,the MVC 5 Auto-Scaffolding always used: ActionResult In VS 2015 the MVC 6 A

我刚刚安装了VS 2015,我注意到MVC6的自动脚手架有一些变化.我很好奇为什么微软会做出这些改变,因为我认为如果他们决定做一些改变,可能会有一些我可能不知道的好处.

In VS 2013,the MVC 5 Auto-Scaffolding always used: ActionResult

In VS 2015 the MVC 6 Auto-Scaffolding switched to using: IActionResult

在VS 2015中,我注意到Microsoft团队不再这样做了:

 public class Test{
     private int i;
     public Test (int i){
         this.i = i;
     }
 }

在所有生成的类中,我看到他们做了:

 public class Test{
     private int _i;
     public Test (int i){
         _i = i;
     }
 }

如果它只是编码风格的问题,那很好,我会立即失去我的兴趣知道为什么他们改变了这一点,但如果有任何合理的解释背后,我迫不及待想知道那是什么.

最佳答案
就ActionResult问题而言,在以前的ASP.NET中,MVC控制器使用System.Web.MVC.Controller Parent类和Web API控制器使用System.Web.Http.ApiController Parent类.

但是在ASP.NET 5 MVC 6中,它们已经在一个Web应用程序中合并.所以现在只有一个控制器类Microsoft.AspNet.Mvc.Controller类作为它们的基础.
现在要区分它们,当用作MVC控制器时,IActionResult可能是一个视图.当用作Web API控制器时,IActionResult可能是数据(JSON / XML).同一个控制器可能具有返回视图和数据的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读