ASP.NET mvc创建第一个项目


下面来分析下具体的文件夹代表什么

content放的是css文件及图片
controllers文件夹放置的是控制器类。命名规范结尾必须是Controller
Model里面放置的是模型,结尾命名规则是Models.
Script文件夹放置的是javascript。
View就是放置视图就是网页。

home就和homeController有关。
Shared里面放置的就是母版页,错误页。
Global.asax是定义路由的。
Web.config就是配置文件。
ASP.NET是微软官方提供的框架。
HttpHandler是ASP.NET底层机制。如果直接使用他,则开发难度大,工作量大。MVC封装框架,简化开发。
asp.net MVC采用了MVC思想,更适合现代项目的开发,因此ASP.NET mvc逐步取代了ASP.NET webform.
为什么说ASP.NET MVC更好?程序员有更强的掌控力,不会产生垃圾代码。程序员能更清晰控制运行过程,因此安全,性能,机制更加安全。
控制器把数据传给Model,Model再给View。然后View再给Model,再给控制器。
Model负责View和控制器之间进行数据的传递。用户输入的内容封装为Model对象,发送给Controller.要显示的数据由controller放到Model,Moel在扔给View.Controller不和View不直接进行交互。
ASP.NET MVC跟三层没有任何关系。
约定大于配置:配置文件就是地狱。
新建一个控制器。其实和新建一个类没什么区别。








cshtml模板就是简化HTMl拼接的模板,最终还是生成html给浏览器显示,不能直接调用cshtml文件。
cshtml叫做Razory模板,
Razor语法非常简单,@后面是c#语句,其他的html代码。
@{string a ="abc"; }c#代码块


@:则表示是html代码。或者可以用<text></text>替代
razor还可以只能识别邮箱


虚拟路径

如果bool类型为false,则默认不会被渲染。

MVC讲究页面的代码不要太复杂,复杂的代码写到控制器里面。
Controller给View传递数据的方式。


dynamic 是动态类型。好处是灵活,坏处是开发的时候不容易发现错误,性能低。



匿名类型:(需要注意的是,匿名类型是只读的,不能赋值)

ViewData和ViewBag的区别
VIewBage是dynamic类型的参数,是对dataView的动态封装,用起来比较方便,和ViewData共同操作数据。
而我么做数据传递,用以上两种方式比较龌龊,所以我们用model。
视图分为强类型视图和弱类型视图。
运用强类型会有字符提示。
弱类型:


因为上面没有加

关于Action的参数,action 就是controller中的方法



以下就是三种赋值的方法


ActionRsult没有重载

如果传输的是文件,那么
