博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.第一个MVC程序
阅读量:6261 次
发布时间:2019-06-22

本文共 1713 字,大约阅读时间需要 5 分钟。

 

 

 

 

1)开发准备工作

下载Microsoft Visual Studio 2015安装(下简称vs2015),网上下载和安装流程都很多。我是选择全部组建和功能安装。

2)新建项目

打开vs2015,在左面开始下面点击新建项目。

选择 已安装-Visual C#-Web 点击窗口内ASP.NET Web应用程序,确定。

之后我们看到许多选择,学习MVC,先点击MVC,下方多选框固定选择MVC,右面更改无身份验证。确定。

项目架构和首页已被生成好,这是一个简单的微软MVC例子。

直接点击打开对应浏览器运行此web项目看看。

可以看到一些介绍。但url路径是显示http://localhost:2755/,这只是vs2015占用了一个端口进行调试演示。那么url呢?实际上url被“路游”(Route)指定了一个默认值为当前首页,没有显示出来。

 

2)初步分析文件夹和里面的东西

其中:Controllers件夹中的控制器必须以Controller结尾,比如上图的Home控制器,这是一个约定。

View文件夹下有Home文件夹,这是对应HomeController控制器里要使用的视图,创建视图时会自动创建。

3)执行Global.aspx

Global.aspx文件会首先执行

在第17行代码中它执行了App_Start文件夹下的RouteConfig.cs类RegisterRoutes方法

下面的代码就是创建了一条名称为“Default”的默认路游器,url能匹对的地址规范是"controller/action/id",defaults默认参数是controller = "Home", action = "Index", id = UrlParameter.Optional(可选)。因为这条路游,我们直接点击运行时,能不输入url运行网站程序。但其实上它访问的是 Home/Index/ 这条url

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在地址栏输入 (调试用端口)/home/index/ 发现页面是一样的

3)初窥控制器

根据路游的代码看出 url: "{controller}/{action}/{id}" 对应的就是Home Index 其实就是访问Controller文件夹下的HomeController控制器下的一个叫做“index”的action(方法)

Index好像是一个特殊的C#方法,返回ActionResult类型。

在Index代码内部右键,转到视图。(如果没有视图,可以点击添加视图)

跳转到了View文件夹下的Home文件夹下的Index.cshtml文件里。Home文件夹就是对应Homecontroller,添加视图时是会默认以action方法名称去命名视图名的。

 

验证一下,在Controllers文件夹上右键添加,控制器

先来个空的

控制器必须以Controller结尾,添加。

添加后,我们照葫芦画瓢,弄了一个TextIndex Action方法

试试转到视图?

还是添加视图把,先把使用布局页勾勾去掉。因为我们现在还不知道布局页是什么。添加。

ok,除了2-4行的代码。其余的就是普通的html哦。

在div内加点标示

Views文件夹下面也是自动创建了Text文件夹,和里面也有了对应Action方法名称TextIndex.cshtml文件。

运行程序,把我们刚刚知道的url地址规范填上去。这次我们要访问新建的控制器方法Text/TextIndex/

马上就看到效果了

有过开发基础的同学已经想到。MVC执行过程 大致是:

URL请求-路游寻找控制器-控制器取实体模型model数据-View展示。

转载于:https://www.cnblogs.com/FTAH/p/7020671.html

你可能感兴趣的文章
[CF1039D]You Are Given a Tree
查看>>
[LeetCode] Climbing Stairs 斐波那契数列
查看>>
【jUploader】1.0版 基于jQuery文件无刷新上传插件下载及介绍
查看>>
Html5 web 储存
查看>>
在ROS-Kinetic版本+RealSense 2.16下的ViSP 配置
查看>>
针对 .NET 开发人员的存储过程评估
查看>>
代理模式
查看>>
OPC DA 到 OPC UA
查看>>
CLR读书笔记--第一章 CLR的执行模型
查看>>
逆向分析(工具介绍)
查看>>
如何优雅地使用Markdown (Sublime 3 + MarkdownEditing+OmniMarkupPreviewer)
查看>>
【Kernel学习】基础篇——01一些标准宏定义和文件include关系
查看>>
hdu1503
查看>>
ES6模块的import和export用法
查看>>
easyui datagrid 搜索功能
查看>>
利用协程爬网页,自动切换io 精典案例:
查看>>
Ubuntu Server14.04 32位安装odoo8.0简单方法
查看>>
go练习3 --map的操作
查看>>
js 获取两个日期相差的天数--自定义方法
查看>>
C++中map的用法
查看>>