MVC (M-V-C启动程序调用关系)
在网上有很多mvc程序启动,调用之间的关系与顺序。而且还有很多很不错的网站。推荐一个
http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1302462.html。
但是那些都说的比较理论,对于一些第一天开始学mvc的朋友来说,可能看起来感觉好像懂了很多,但是用起来的时候就感觉有问题,还经常遇到http 404问题。
我也摸索了一下,终于算理解跟会实际应用。以下我按实际操作来讲,不说那些太理论的东西。
mvc的调用顺序:C => V =>M;这个顺序网上也有一些例子证明过给读者是这样的一个顺序,我这里也推荐一个
http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html
http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html
http://www.cnblogs.com/powertoolsteam/archive/2012/12/17/2821495.html ;这3篇文章就能好好的证明这个,而且很简单。都是同一个作者写。
说完顺序了,接着就之间说路由。很多人刚刚开学mvc都会问,那我怎么样知道程序去调用哪个控制器里面的那个方法去启动那个视图?这个答案就在路由配置
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);//controller="Home" 代表去启动控制器里面的HomeController.cs类
//action = "Index", 代表去启动控制器HomeController.cs里面的Index()方法
到这里很多人都以为程序就可以正常启动。其实不一定。很多人调用的视图V,不一定跟控制器里面的启动方法Index同名。如果不同名就会报404错误。其实这是因为没有控制器C没有找到默认启动视图V。
如果不想启动默认同名的视图,只需要修改Index()里面的return View();
public ActionResult Index()
{
//return View("../User/Login");
return View("/Views/User/Login.cshtml");
}
里面有两种写法,注意这两种写法的区别就行。到这里,程序就可以正常启动。视图view出现在大家面前。
MVC (M-V-C启动程序调用关系)的更多相关文章
- 微信小程序-02-项目文件之间配合和调用关系
微信小程序-02-项目文件之间配合和调用关系 我就不说那么多了,我是从官方文档拷贝的,然后加上一些自己的笔记,不喜勿喷 官方文档:https://developers.weixin.qq.com/mi ...
- java中的mvc和三层结构究竟是什么关系
一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库 ...
- 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】
Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...
- 菜鸟学Linux命令:nohup命令启动程序
在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦:另一种方法是仍然用普 ...
- C#程序调用cmd执行命令
对于C#通过程序来调用cmd命令的操作,网上有很多类似的文章,但很多都不行,竟是漫天的拷贝.我自己测试整理了一下. 代码: string str = Console.ReadLine(); Syste ...
- WindowsForm应用程序调用WebService
本文原创,如需转载,请标明源地址,谢谢合作!http://blog.csdn.net/sue_1989/article/details/6597078 本文的编写IDE为VSTS2008和.NET F ...
- Linux开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
- Linux开机启动程序详解[转]
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...
- linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明 ...
随机推荐
- A Tour of Go Exercise: Maps
Implement WordCount. It should return a map of the counts of each “word” in the string s. The wc.Tes ...
- Altium Designer导出部分元件过滤不焊接的元件【worldsing笔记】
在Altium Designer画图过程中难免会多出单元电路,或是测试电路,特别是第一版时,有部分元件不用焊接 这时给采购.或是生产时有必要注明哪些元件不焊接,哪些元件不采购.有两种方法可以过滤: ...
- android应用的界面编程----View与ViewGroup的概念
1 UI OverView Android中所有的UI元素都是通过View与ViewGroup来构建的,View是指屏幕中一块可与用户进行交互的空白,类似于java界面编程中的JPanel.为了界面布 ...
- 【Stage3D学习笔记续】山寨Starling(十二):总结和一些没提到的东西
我们的山寨Starling到这里就告一段落了,不得不说这是一个非常优秀的2D框架,他的设计和架构为后来的许多框架都提供了很好的参考,比如现在正在崛起的Egret,我们的一番解读也只是窥见了Starli ...
- MSSQLSERVER数据库- LEFT JOIN后面跟着WHERE竟变成内联 解决方法
在LEFT JOIN后面跟着WHERE竟变成内联.百度后看到这个解决方法. 记录如下: select sre.*, co.description from subscribedratingelemen ...
- DOM 的选择器 API
在刚开始的时候,我们只能用 getElementById,getElementsByClassName,getElementsByTagName 这几个 DOM 方法查找 DOM 树中的元素.后来,在 ...
- Ecshop图片不清晰怎么办?
很多人说缩略图的质量不高,模糊,那是因为gd库生成缩略图时,默认生成jpg缩略图或商品图的质量是75.可以通过修改生成缩略图质量的默认值来提高缩略图的质量. 找到includes/cls_image. ...
- linux mail命令用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- cdll和windll的差别
Python要想调用C语言写的动态连接库.不仅要兼容C接口的调用习惯,还须要兼容C语言的数据类型.幸运的是ctypes库已经做了这双方面的工作.以便调用动态连接库是很方便的.在Hello World的 ...
- Tomcat启用HTTPS(生成证书、配置Tomcatserver)
Windows下的配置: 第一步:为server生成证书 使用keytool 为 Tomcat 生成证书.假定目标机器的域名是" localhost ". keystore 文件存 ...