【前言】从今天开始,小静要学习Pro ASP.NET MVC3 Framework这本经典大作了,我是下载的电子版学习的。在这里只是用作学习的记录,便于以后查阅,也为了督促自己坚持下去。不用于任何商业用途。
要想掌握一种开发框架,光靠眼睛看是不够的,一定要动手使用,才能快速熟悉起来。现在就从创建MVC3项目开始,一步步了解MVC项目的基本结构和开发流程。
1. 创建第一个MVC项目:
- 在安装好MVC3环境之后,首先我们新建一个MVC3项目(ASP.NET MVC3 Web Application):
- 这里有三种项目模板:空模板,Internet应用程序和Intranet应用程序。我们选择第二种。
- View引擎:在之前版本中使用的是ASPX引擎,MVC3引入了新的Razor引擎,它使用起来很方便又容易上手,所以一般建议使用Razor引擎。
- Create a unit test project:选中之后会自动创建测试项目。
- 点击OK,可以看到项目创建成功,并自动生成了一些文件,项目解决方案如下所示:
2.创建第一个controller:
在webform开发方式里,url是和aspx文件所在的目录相对应的,但在MVC结构中,请求是通过controller进行处理的。在ASP.NET MVC中,controller一般是继承自System.Web.Mvc.Controller的类,通常放在controllers文件夹下。controller中每个public方法称作一个action方法,可以通过特定url来调用action方法。
- 右键Controllers=>添加=>controller,名字要以Controller结尾。默认提供了三种controller模板,我们选择空模板。
public class IndexController : Controller
{
public ActionResult Index()
{
return View();//返回与action同名的view结果
}
}
新建controller后,会默认添加一个名为Index的action,其返回类型为ActionResult。返回结果使用return View(),无参数表示返回与action同名的view,也可以传递字符串参数指定view名称。
3.添加View来展示页面
-
View查找路径:在添加view之前,我们先运行一下:
这个错误不但提示了MVC找不到view,还展示了查找view的顺序。其中第一个index是url中的controller名字(去掉后缀);第二个index是action名称,我们没有指定action名称的时候默认是Index,当然这个也是可以在Global文件中自定义的。
-
添加view:在Index这个action代码块内右键=>添加view,如下图点击OK。
我们可以看到自动添加了文件~/Views/Index/Index.cshtml,其路径格式为~/Views/Controller名称(去掉后缀)/action名称.cshtml, .cshtml后缀表示使用Razor引擎的c# view文件。如果使用的ASPX引擎,那么view文件后缀还是.aspx。
4. ViewBag输出动态数据:
从controller向view传递数据可以使用ViewBag对象,它是Controller从父类继承来的属性,从对象浏览器查看如下:
public dynamic ViewBag { get; }
Member of System.Web.Mvc . ControllerBase
Summary:
Gets the dynamic view data dictionary.
Returns:
The dynamic view data dictionary.
使用实例:
public ActionResult Index()
{
int hour = DateTime.Now.Hour;
ViewBag.hello = string.Format( "{0} ,欢迎来到大米返利网www.damifanli.com" , hour < 12 ? "早上好" : "下午好" );
return View();
}
- 然后在view中读取ViewBag传递过来的数据:
@{
ViewBag.Title = "首页";
}
<h2>@ViewBag.hello</h2>
至此,我们创建了第一个MVC3项目,对于MVC3项目的基本结构也有了初步了解。
分享到:
相关推荐
VALUES('2006-1-3','002','00001',5) INSERT ProOut VALUES('2006-2-1','002','00003',10) INSERT ProOut VALUES('2006-2-2','001','00001',10) INSERT ProOut VALUES('2006-2-3','001','00003',20) INSERT ProOut ...
微观经济学题答案小静版.pdf
全国31个省份2000-2022第一产业第二产业第三产业增加值占GDP比重 含计 算结果、参考资料 数据来源:基于中国统计年鉴、各地公布数据整理计算 数据期间:2 000-2022 数据范围:全国31个省份 主要指标: 指标测度 ...
(1)原始数据:年份、省市、第一 产业增加值(亿元)、 第二产业增加值(亿元)、 第三产业增加值(亿元)、G DP(亿元、 国内生产总值(亿元) 第一产业增加值(亿元) 第二产业增加值(亿元)、第三产业增加值...
一个好的HTML网页项目,采用了框架布局,很值得参考的哦! --------java爱好者 java交流群:166256747, 分享自己的技术是一种美德!
1-2 试分析有制动通路的不可逆PWM 变换器进行制动时,两个VT 是如何工作的? 1-3 调速范围和静差率的定义是什么?调速范围,静态速降和最小静差之间有什么 关系?为什么脱离了调速范围,要满足给定的静差率也就容易...
毕业论文王小静电磁定位系统修改最终版是讲述电磁定位的原理以及方法
虚拟现实技术在旅游产业中的运用_时小静.doc
基于DirectShow的H.264解码filter设计,高飞燕,王海婴,DirectShow是一种基于COM技术的多媒体编程接口,它给出了一种全新的多媒体数据处理模型,并封装了采集、压缩和解压缩等一系列算法,��
点击屏幕产生气泡的android实例 很好用的,大家可以学习学习! --------Android爱好者 java交流群:166256747, 分享自己的技术是一种美德!
第一类边界条件下扩散方程稳态近似分析,王成善,穆小静,反应器内层状液、液界面两侧内扩散,团块、气泡、粉粒或液滴内的扩散都是有限长度区间上的传质问题;获得有限长度区间上的扩散方
采用javascript和jQuery写的仿照window操作界面源码,点击一个图标,将会弹出一个窗体,改窗体可以最小化和还原,可以在浏览器内移动,底部状态栏可以显示所打开的窗体,该源码是我一年前所写,不足之处多包涵,希望...
钞小静、任保平,2011)的基础上 ,结合城市层面可获得的数据,本文设定了由产业结构、包容性TFP、技术创新、居民生活和生态环境5个二级指标构成的多维度评价体系,对2005~2016年全国222个地级及以上城市的经济高...
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的...
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
各省产业结构升级(高级化、合理化指数)是一个重要的学术研究指标,可以用于研究经济 发展、产业转型、可持续发展等方面。通过分析各省的产业结构升级程度,可以探讨不同产 业的发展趋势、技术水平、创新能力等因素...
应用有限元仿真技术和正交试验方法,在磁极数量、转子外径和磁极截面积一定的条件下,研究了主、从动磁极和调制磁极的厚度(h1,h3,h2),主、从动盘的厚度(h0,h4),以及主动侧和从动侧气隙(gap1,gap2)等7个参数对输出静...
01 数据介绍:经济高质量发展水平的测度 虽然全要素生产率作为经济增长可 持续性的重要因素已成为学界的共识,但受限于测算波动性以及维度单一性,仅将其作为经 济高质量发展的评价指标显然不能满足研究需要。因此...
Android系统下的一款记事本软件源码,采用了ListView和九宫格的模式显示记事的信息,支持切换模式,采用SQLIte数据库来记录记事的信息,有表的增删改查等操作,希望大家可以共同学习! --------Android爱好者 java...