MVC学习的一些总结

起初认为视图,控制器,模型它们是完全没有耦合的,真正用了一段时间MVC发现错了。

但通过抽象让他们完全没有耦合,也不是不可能。

 

1.奇怪的连接地址

用MVC之前,一直认为页面必然访问某个文件。用了MVC发现原来访问目录也可,甚至多个部分视图组合成一个页面。

甚至是各种想不到的路径组合方式

MVC4可以在vs属性里设置目录页,指定入口地址

MVC5在APP_Start/RouteConfig下,配置路由设置,配置入口地址,和入口控制器

views/xxx 对应控制器名,如果和控制器名不一致会报错

 

2.cshtml

不知道aspx是不是它的前身,刚使用cshtml的时候一直纠结没有视图编辑界面,只能纯代码编辑。而aspx是有的。

不过后来发现DreamWeaver cs5里面是有aspx创建选项的,估计最新版也有cshtml创建选项把。

关于cshtml的执行顺序有点头疼,html标签代码和c#代码好像不是一起执行的,如果写了for循环之类的,执行顺序会很奇怪。

 

3.ajax,部分视图

ajax一定要引用对文件。。否则没有效果,具体引用啥文件,这里有写

http://www.cnblogs.com/FEAUOR/p/3217221.html

说说部分视图,经常用ajax+部分视图来做一些下拉的效果,如果让部分视图出现的部分消失,只要用content("")返回就行了。

 

4.TempData和Session

视图和控制器的数据交互,用TempData就行了。Session和普通Session一样用。

静态变量是真正运行在服务器上的,我一开始尝试用静态变量代替他们的功能。。后来就悲剧了。

 

5.mvc4新功能

到目前就接触到一个mvc4新功能

Styles.Render可以方便的加载css,css文件路径的配置在AppStart/BundleConfig.cs文件内。

Styles.Render("~/Content/HomeCss")

 

6.asp.net mvc中视图和控制器的连接

视图通过@Html.ActionLink("显示名", "动作", "控制器名")来连接控制器,控制器名是去掉Controller后缀的名称

你可能感兴趣的:(mvc)