Asp.net Core入门(二)———MVC控制器的创建

Asp.net Core入门(二)
今天主要介绍一下Asp.net中的MVC编程模式:
MVC 是三种 ASP.NET 编程模式中的一种。
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 分层有助于管理复杂的应用程序,因为可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
即便如此,MVC的缺点也是显而易见的。譬如没有明确的定义,完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。

ASP.Net MVC Controller

标准的MVC控制器的格式如下所示:

[Controller]
Public class AnimalsController:Controller
{  Public IActionResult Detail(int id)
{  
Return View();    
}

其中的Detail为一个Action函数,主要有如下两个作用:
1、处理请求(GET和POST)
2、返回一个特殊的数据类型IActionResultAction默认的http请求方式为GET,此外也支持请求中的URL的参数。例如…/…/{id}当Action函数处理POST请求时,在方法属性上写上[HttpPost],方法上的参数将会和请求参数进行匹配,若参数一致,则进行相关操作,并返回给view。

创建控制器Demo
右键controllers文件,新建一个item,选择Class,命名为Test.Cs。代码如下:

namespace lanzhoubeefnoodles.controllers
{      
     public class Test     
     {        
     public String Index()       
      {          
        return "Hello From test Index";    
          }   
      public String About()     
      {           
       return "Hello from test About";} 
           }
}

需要注意的是,现在的Test类目前还不是真正的Controller类,那么我们如何将其定义为Controllerl类呢?有如下三种方法:
1、将类名Test修改为TestController,ASP.Net将自动将其识别为Controller
2、在类名上添加属性[Controllrt]
3、Test直接继承Controller

namespace lanzhoubeefnoodles.controllers
{      
     public class Test:Controller     
     {        
     public String Index()       
      {          
        return "Hello From test Index";    
          }   
      public String About()     
      {           
       return "Hello from test About";} 
           }
}

三种方法中直接继承Controller方法可以使我们调用大量的已定义好的一些函数,其他没啥区别。

然而在Controller中直接返回单一数据类型并不是特别的安全和完善,不过强大的.NET提供了强大的ActionResult类可以将我们传入的数据进行自动转换,使用Content可以以将string,json等的数据打包返给View。在以上的代码加入如下的Contact函数:

 public ActionResult Contact()        
 {            
     return View();        
 }

右键点击Contact函数,选择添加视图,我们先什么都不用动,直接添加,完成后在右边的项目中会生成一个Views文件夹,点击打开其中的Contact.cshtmml(就是你命名的函数的html文件),打开后如下修改为代码:

@{
    ViewData["Title"] = "Contact";
}
<h2>联系我们</h2>

好,大功告成,运行项目,在url栏中输入https://localhost:5001/test/contact 成功在页面上输出“联系我们”四个大字。

总结
ASP.Net MVC采用了MVC的设计模式来对处理的请求进行控制和进行相应的Response回应。主要的优点为耦合度低,比如需要在控制器修改代码时,view视图层无需修改,减少了时间成本。第二,可重用性高。大大降低了编程的代码成本,解放程序员的双手,可以将重点转向其他的核心业务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SharlockYu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值