目前新的网站使用的是MVC模式,现在根据其结构特点总结学习经验如下:
1.此框架中使用CODE FIRST的EF模式,因此,对于数据库的结构变更一定在代码中执行,不然会影响程序的正常运行。
另外,在使用CODE FIRST模式时,可以先进行MODEL FIRST空操作进行添加相关的引用,并随后删除引用外的相关痕迹即可。 而上下文亦可根据MODEL FIRST进行创建。当然,这是初学者进行参考的方法,经验熟练者可以直接进行引用添加及上下文编写。
CODE FIRST的主要作用应在跨数据库操作上,即可以根据需要进行配置,从而使用不同类型的数据库,但原始代码不变。
2.COOKIE 与SESSION的引用一般如下:HttpContext.Current.Request.Cookies[cookiename] 和HttpContext.Current.Session[name],即必须表明目前的通讯上下文中的哪一个COOKIE或SESSION.
另外,REQUEST.COOKIE一般是由客户端发送给服务器的,供服务器使用。而REPONSE.COOKIE则是由服务器提供给客户端的,且提供给客户端后会保存在客户端。
但是,在读取COOKIE的值时,一般是读取REQUEST的值,因为COOKIE都是存在客户端的,而设置COOKIE,在后台中则是设置RESPONSE的COOKIE,因为后台数据回发时,相同键值的COOKIE会覆盖掉前台的COOKIE值。
而SESSION是保存服务器端的,没有这个限制。
3.打开一套新的软件或框架时,往往提示缺少DLL文件。对于一个框架,相应的DLL文件,此时可以通过查看该DLL文件的属性,来判断相应的问题,如版本不符,引用错误等。如果是VS自身带的,这种往往需要重新下载相应的DLL文件,下载的方法包括NUGET,网页查询等,下载后放入指定的文件并添加引用即可。
但是,为了避免此种情况的出现,可以将需要的 DLL文件放入PACKAGES中,并统一从该PACKAGE引用,此时将相应框架或软件传递时将最大程度的避免此类问题。
4.MVC中设置启动页是通过设置默认路由来实现的。
5.@RenderSection相当于在母版页占一个位置,解决页面差异化的问题。另外一个重载@RenderSection("SubMenu",false),第二个参数代表它不是必须的,就不会抛出异常。
6.如果浏览器支持CSS3,则使用border-radius就可以达到圆角输入框效果
<input type="text" style="border-radius:10px;">
7.div盒子本身默认样式属性是独占一行,而解决div独占一行方法通常有两种,一种为设置浮动,另外一种为设置display样式。