Asp.Net MVC5入门学习
添加一个Controller(控制器)
因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用来便于我们的开发,要是对MVC概念还有点模糊的,可以去我以前写的第一话 Asp.Net MVC 3.0【Hello World!】里开始部分就对此做了阐述。假定所有跟我一起学的都了解MVC的这么一个概念,我们就开始下面的步骤了:
现在我们开始添加一个Controller,具体如下:
我们选择创建一个空的Controller,然后点击确定:
这里自带了一个返回View()的动作(action),说的绕口就是说这里VS在给我们创建Controller的时候会生产一个返回试图的方法,该方法没有任何操作动作就是接受HTTP GET请求HelloWorld过来执行该方法。要是你细心的话你会发现在VS我们创建HelloWorldController同时,它默默的在Views文件下为我们默默的创建了一个HelloWorld的文件夹,这样V C在某种机制上是不是对应起来了,这也是一种框架约定。
OK,我们简单的玩下这个我们创建好的Controller,具体代码如下:
其实通过上面这个过程我们就可以在此清楚的看到MVC强大的路由机制,这个我好像也说过好多次了o(^▽^)o,不过MVC就是在这个地方强势耶,所以想学好MVC的话还是要多去了解下它路由机制方面的东西,本菜鸟也是入门就不说的那么高深了,来看看VS在给我们创建应用程序的时候,框架自身配置的路由,大多数情况这个自身配置路由是够我们的应用开发的。来看看项目的RouteConfig.cs配置文件,他位于项目的位置如下:
其实我们刚才模拟HTTP请求HelloWorldController的动作就经典的执行了下上面配置文件的配置。当我们请求HelloWorld时路由机制会将我们的请求映射到HelloWorldController类(控制器),根据上面配置文件配置描述的话,第二个URL片段上应该是action(动作/方法)也就是方法名,当然你会问我刚才就没有访问Index这个方法,为什么结果会是index方法的字符串怎么不是welcome方法的返回的字符串。这里呢我就个人观点说下,不对的话还望各位朋友指教!因为我们没有给它指定Controller里action的名字(方法),所以这里路由机制会字段检索默认方法,这里就检索到index这个方法。同时这也是为什么我们每次创建一个Controller的时候它都会自动给我们创建一个默认的动作方法,这个地方或许就是它的作用之一吧。。。。。。好了就啰嗦这么多,然后我们在继续模拟HTTP请求下我们的第二个方法,看能不能返回我们想要的字符串,请求访问结果如下:
哈哈当然是第二了,这里有人会问为什么,因为第二指定了Action名称(方法名称)所有路由机制根据你提供的方法名字就直接去找了,而第一个路由机制有一个检索或者说检查的动作在里面可能在细微上就要稍微慢于第二个方法了,我们看看第二的工作人员工具里返回的信息如下:
我们可以把我们的welcome()方法稍稍修改下,修改如下:
我们现在开始来配置这么一条路由机制,在RouteConfig.cs里面配置哦,可不要随便拉个类以配置,随便配置的话也可以,那就是你要想办法让路由机制认识你的配置就行,我们就在RouteConfig.cs里面配置我们的路由机制,配置如下:
然后我们在次模拟HTTP请求,请求结果如下:
添加一个视图(View)
接着上篇的入门系列,上面解说添加一个简单Controller(控制器),这里我们简单的在来添加一个View(视图)来展示我们Controller里执行完(Action)动作/方法后的结果.
我们修改我们的HelloWorldController到默认创建的代码,如下:
我们来简单修改下我们的welcome()方法如下:
我们继续添加一个使用MVC模版的视图welcome.cshtml,代码如下:
我们试着给模拟HTTP给它塞值进去看看能不能达到我们预测的目的,操作如下及结果:
这里简单的演示用的是ViewBig来把数据传给View层,然后View层通过ViewBig对象获取到数据进行展示,其实大家也都知道实际应用或者开发中,传输数据及表示层读取数据往往用的不是ViewBig而是Model,也就是MVC里的M.后面我们继续分析怎么用一个视图模型把控制器里动作执行完的数据转向View层。关于View就简单的分享这么多吧!
Asp.Net MVC5入门学习的更多相关文章
- Asp.Net MVC5入门学习系列③
原文:Asp.Net MVC5入门学习系列③ 添加一个视图(View) 接着上篇的入门系列,上面解说添加一个简单Controller(控制器),这里我们简单的在来添加一个View(视图)来展示我们Co ...
- Asp.Net MVC5入门学习系列②
原文:Asp.Net MVC5入门学习系列② 添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用 ...
- Asp.Net MVC5入门学习系列①
原文:Asp.Net MVC5入门学习系列① 现在直接开始MVC5的学习系列,学习资源来自Micrsoft. 开始使用Asp.Net MVC 5 打开Visual Studio 2013,然后新建一个 ...
- Asp.Net MVC5入门学习系列⑦
原文:Asp.Net MVC5入门学习系列⑦ 接着上篇结尾所说,如果开发中刚才遇到Model需要添加或者减少字段/属性的话,但是刚好你也利用EF的Code frist通过Model生存的数据库,这时改 ...
- Asp.Net MVC5入门学习系列⑤
原文:Asp.Net MVC5入门学习系列⑤ 检查VS生产的编辑方法和编辑窗体 前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了.这篇的 ...
- Asp.Net MVC5入门学习系列⑥
原文:Asp.Net MVC5入门学习系列⑥ 接着上次的篇幅,我们这篇手动来写一个查询的流程代码! 搜索/查询 流程功能的实现 那现在要做搜索(查询)功能我们第一步应该做什么呢!第一次是不是我们应该去 ...
- Asp.Net MVC5入门学习系列④
原文:Asp.Net MVC5入门学习系列④ 添加Model且简单的使用EF 对于EF(EntityFramework)不了解的朋友可以去百度文科或者在园子里搜一些简资源看下,假如和我一样知道EF的概 ...
- ASP.NET MVC5入门1之项目创建
本博文参考ASP.NET MVC5入门指南,下载链接: ASP.NET_MVC5_入门指南 1.创建项目 文件 --> 新建 --> 项目 Visual C# --> Web --& ...
- ASP.NET + MVC5 入门完整教程八 -—-- 一个完整的应用程序(上)
https://blog.csdn.net/qq_21419015/article/details/80509513 SportsStore 1.开始创建Visual Studio 解决方案和项目这里 ...
随机推荐
- JavaScript之包装对象
JavaScript对象是一种复合值:它是属性和已命名值的集合.通过"."符号来引用属性值.当属性值是一个函数时,称为方法. ①一段你常用但却未必明白其真正底层原理的代码: var ...
- Ubuntu 14.04 grub2 温馨提示
昨天win7在...的基础上,刚装几天发布Ubuntu14.04.Ubuntu14.04还是很不错的.但是,今天想去下一个Win7,但没有发现平时的开机显示grub2选项,直接进了Ubuntu! 我感 ...
- EF调用sp,EF自动生成返回类型
在sp中添加下面的红色部分,就是执行sp时的返回类型,后面在EF中添加该sp后,EF会在DBContext文件中,自动生成调用该sp的代码,包括返回类型等,如下: public virtual Obj ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- javascript系列之DOM(一)
原文:javascript系列之DOM(一) DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式 ...
- Leetcode:unique_binary_search_trees
一. 称号 给定的数目n.问:有多少种不同BST(二叉搜索树) 比如: 因为N =3,共同拥有5种独特的BST. 1 3 3 2 1 \ ...
- Android学习----异常(2):Please ensure that adb is correctly located at ' ... '
打开任务管理器,在后台进程中找到 kadb,结束这个进程,重新启动eclipse.
- 手工制作的年份Java老A发售量
Java老A这本书是写了很长的时间,昨天终于开始china-pub.京东.活动当天发售的猫,现在,简称买卖,他当然还没有到. 有兴趣的人能够去看看哈(兴许其它站点地址也会在这里公开): china-p ...
- 【百度地图API】如何制作自定义样式的公交导航结果面板?
原文:[百度地图API]如何制作自定义样式的公交导航结果面板? 摘要: 百度地图API有默认的公交导航结果面板,但样式比较单一:而百度地图上的结果面板就比较美观.如何利用百度地图API来制作一个比较美 ...
- MVC使用Bootstrap
ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers 摘要: 序言ASP.NET MVC允许开发者创建自定义的HTML Helper ...