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命令进行设置 简要说明 ...
随机推荐
- android获取根视图
android获取根视图 activity.getWindow().getDecorView()
- 问题-Delphi 中使用TStringList后,报out of memory 的解决方法
问题现象: 请一段开发个项目 程序调试全部通过但测试时出现个问题 “out of memory” 在长时间运行时!后来终于解决 :很简单其实就是object.create时对象没有释放. 代码如下: ...
- [iOS基础控件 - 2] 按钮的基本使用
UIButton A.素材准备 1.图片素材放置到Images.xcassets中 B.按钮状态 1.normal:默认状态 Default 对应的枚举常量:UIControlStateNor ...
- Jquery ajax 得到返回值
Jquery ajax 得到返回值 1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步. 2.必须定义一个全局变量 var result = ...
- 325. Maximum Size Subarray Sum Equals k
最后更新 二刷 木有头绪啊.. 看答案明白了. 用的是two sum的思路. 比如最终找到一个区间,[i,j]满足sum = k,这个去见可以看做是 [0,j]的sum 减去 [0,i]的Sum. 维 ...
- fastjson把对象转化成json避免$ref
转自http://blog.csdn.net/wxwzy738/article/details/30244993 DisableCircularReferenceDetect来禁止循环引用检测: JS ...
- JavaScript 要点(十六)RegExp 对象
RegExp:是正则表达式(regular expression)的简写. RegExp 对象 正则表达式是描述字符模式的对象. 正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大 ...
- Javascript Basic Operation Extraction
1. logic operation : '&&' and '||' .For this two logic operations,its' results are inconcl ...
- Win8.1激活
激活查询:在桌面状态下输入“Win+R”,进入运行栏目,输入slmgr.vbs -dlv 显示:最为详尽的激活信息,包括:激活ID.安装ID.激活截止日期 http://www.nruan.com/w ...
- [Webpack] Use the Webpack Dashboard to Monitor Webpack Operations
Learn how to use the new Webpack Dashboard from Formidable Labs to display a pretty, useful output f ...