MVC (M-V-C启动程序调用关系)

摘要:
在网络上启动了许多mvc程序,以及调用之间的关系和顺序。许多人在mvc开始时会问,我如何知道程序调用哪个控制器来启动该视图?事实上,这是因为没有控制器C可以找到默认的启动视图V。如果您不想在默认情况下启动同名的视图,只需修改Index()中的returnView()即可;publicActionResultIndex(){//returnView;returnViewViewCode中有两种编写方法。只需注意两种写作方法之间的差异。

      在网上有很多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都会问,那我怎么样知道程序去调用哪个控制器里面的那个方法去启动那个视图?这个答案就在路由配置

MVC (M-V-C启动程序调用关系)第1张MVC (M-V-C启动程序调用关系)第2张
 routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
            );//controller="Home" 代表去启动控制器里面的HomeController.cs类
           //action = "Index", 代表去启动控制器HomeController.cs里面的Index()方法
          
View Code

到这里很多人都以为程序就可以正常启动。其实不一定。很多人调用的视图V,不一定跟控制器里面的启动方法Index同名。如果不同名就会报404错误。其实这是因为没有控制器C没有找到默认启动视图V。
如果不想启动默认同名的视图,只需要修改Index()里面的return View();

MVC (M-V-C启动程序调用关系)第3张MVC (M-V-C启动程序调用关系)第4张
 public ActionResult Index()
        {
            //return View("../User/Login");
            return View("/Views/User/Login.cshtml");
        }
View Code

里面有两种写法,注意这两种写法的区别就行。到这里,程序就可以正常启动。视图view出现在大家面前。

     

免责声明:文章转载自《MVC (M-V-C启动程序调用关系)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇夜神模拟器用burpsuite抓包配置day1_jmeter操作mysql步骤下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ubuntu18.04 安装新版本openssl

Shared=强制创建共享库。Zlib=使用Zlib库启用压缩。编译过程完成后,使用以下命令安装OpenSSL:sudomakeinstallOpenSSL安装在“/usr/local/ssl”目录中。新的OpenSSL二进制文件将从“/usr/local/ssl/lib”目录加载库文件。转到'/etc/ld。so.conf.d”目录,并创建一个新的配置文件...

快速打造 react 后台管理系统

前言我相信许多小伙伴可能会满足开发后台管理系统的要求,那么我们如何快速完成这一要求?本文将记录以React为起点创建基本管理系统模板的过程,以加深对React技术堆栈和项目实践的理解。我希望开发这样的项目对每个人都有帮助。如果文章中有错误和错误,也请看小伙伴的评论。提前感谢您的项目介绍。React admin是基于R快速创建React应用脚手架而构建的...

VMware vSphere 7.0 安装教程

插入CD,启动系统并等待安装包加载映像,按Enter等待协议条款,同意,然后按F11进行磁盘分区管理。由于测试环境的原因,只有一个硬盘,直接按Enter键进入键盘布局,选择默认设置,按Enter键设置根帐户的密码,输入完成后按Enter键确认安装,按F11键等待安装完成,取出安装CD,重新启动后按Enter重新启动系统,正在加载到系统中…请确保已导入磁盘。错...

"SQLserver 事务日志已满"解决方法

如果不够,备份后换个地方存[注:tempdb你数据库名称。...

Python-正则

,三:量词*重复0次或多次{0,}+重复一次或多次{1,}?重复0或1次{1,0}{n}重复n次{n}{n,}重复n次,或更多次{n,m}将n次重复到m次Escape:如果字符串中有特殊字符要匹配,请在常规字符和字符串前面添加r。如果特殊字符在字符组中,则它们是匹配的特殊字符,但为了记忆,匹配时会转义所有特殊字符。...

一起学习Avalonia(十二)

可以使用数据模板自定义和显示数据模板模板。文档中介绍了Avalonia的基本数据模板。PublicstringFirstName{get;set;}publicstringLastName{get;set;}扩展使用文档最后介绍了扩展使用,包括2个模型。Student和Teacher。在MainWindowViewModel中创建属性Content。此属性是...