下面来分析下具体的文件夹代表什么
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跟三层没有任何关系。
约定大于配置:配置文件就是地狱。
新建一个控制器。其实和新建一个类没什么区别。
会自动生成一个test文件夹 在text下添加视图 在模型类中增加 controller添加逻辑cshtml模板就是简化HTMl拼接的模板,最终还是生成html给浏览器显示,不能直接调用cshtml文件。
cshtml叫做Razory模板,
Razor语法非常简单,@后面是c#语句,其他的html代码。
@{string a ="abc"; }c#代码块
razor可以智能识别是html代码还是c#代码 其实归根到底是@,只要有@,razor就会识别为c#代码,html要加标签@:则表示是html代码。或者可以用<text></text>替代
razor还可以只能识别邮箱
@*注释内容*@ 注释虚拟路径
如果bool类型为false,则默认不会被渲染。
总结MVC讲究页面的代码不要太复杂,复杂的代码写到控制器里面。
Controller给View传递数据的方式。
可以采用viewdata键值对的方式dynamic 是动态类型。好处是灵活,坏处是开发的时候不容易发现错误,性能低。
可以动态的增加属性 var编译匿名类型:(需要注意的是,匿名类型是只读的,不能赋值)
ViewData和ViewBag的区别
VIewBage是dynamic类型的参数,是对dataView的动态封装,用起来比较方便,和ViewData共同操作数据。
而我么做数据传递,用以上两种方式比较龌龊,所以我们用model。
视图分为强类型视图和弱类型视图。
运用强类型会有字符提示。
弱类型:
弱类型这里点的时候是自动出不来的因为上面没有加
而一般尽量用强类型视图关于Action的参数,action 就是controller中的方法
action方法 像这种普通传参,不会有默认值以下就是三种赋值的方法
ActionRsult没有重载
但是可以通过 [HttpPost]和 [HttpGet]来实现如果传输的是文件,那么
网友评论