开发要注意的基础基础知识点
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015 与 C#
撰写时间:2020年08月06日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
知识点罗列:
IO流的基础理解:
数据都是以二进制的形式存放在计算机硬盘里面的,计算机读取的时候都是由0和1组成的
文件一般都存在流,相对程序来说,程序肯定会涉及到读取和输出数据,而流可以理解为就是用来读取和输出文件。
IO流,是input output的缩写,Input :从程序之外的读取数据,可以说是文件流;output:把程序的数据输出,可以说是内存流。个人理解就是流的作用是在程序中主要用来操作文件。
流的一个方法:Seek(偏移量,游标类型) 主要用于判断输出的数据是否完整,其实就是获取文件的长度。输出的文件若是不完整的,会导致文件的损坏。
关于文件:
1.基础理解:一般文件不会直接保存到数据库,文件一般情况下都会保存在当前项目的文件夹下面(硬盘),把文件的的名称路径保存到数据库,在运行程序的时候,文件读取会根据文件名称读取相应为文件。如果直接把文件保存到数据库,当文件过多的时候,会影响到数据库的速度下降,而且还会影响到程序的运行性能。
2.文件上传:文件上传会用到input标签,input的type必须为file。当要传递文件到控制器的时候,既不能用get提交请求也不能用post提交请求,因为他们都会编译文件,是文件的路径在控制器那里获取不到。用ajax来提交请求,但是还是要设置processData:false; z作用就是告诉jQuery不要处理发送的数据 contentType:false;作用是告诉jQuery不要去设置请求头,最重要的是只能在ajax设置post请求才有效。 accept 属性只能与 配合使用。它规定能够通过文件上传进行提交的文件类型。
客户端请求服务端的方式
常用的有三种post、get、getJson
一般情况下都是这样的,三个固定的值
url:发送请求地址。data:待发送 Key/value 参数。callback:发送成功时回调函数。
交互(会话)
自己总结的有三种:
- 服务器与服务器之间的数据传递
Session值
TempData值:主要用在需要在多个Actions或者页面重定向时共享传递数据时使用。
- 服务器与客户端之间的数据传递
Session值
Cookie值:个人理解就是用于记录用户的状态,如果用户需要需要请求某种状态时,cookie值会记录下该状态,并向服务器请求,服务器再向浏览器请求完成该操作。
ViewBag与ViewData: 主要用于从服务器那里传递数据到客户端,客户端对数据的使用。他们都只能在当前的请求中有效,声明周期与view相同,当关闭视图后,说明他们的值也就失效了。ViewBag基本上是ViewData的包装。
- 客户端与客户端的数据传递
localStorage值:localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。
sessionStorage值:sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。
无论是localStorage还是sessionStorage都只是在客户端的数据传递,不与服务器进行交互。
注意:
Session值:常用于数据的传递,优点:生命周期长,使用范围广,包含了Controllers, Actions and Views共享数据。缺点:占用内存大
一些开发基础知识点
1.0 、当用vs同时打开两个项目的时候,一个项目已经用浏览器打开了,而另外一个项目却打不开,就要把打不开的项目的端口进行修改,还有一种可能就是打不开的那个项目本身就有问题。。设置端口 是注意不要设置一些特别的端口 ,例如1433等
2.0 已经发布的项目,如果项目代码进行更改了,就必须重新发布,你更改的内容才会有效。
3.0 如果下拉框设置了disabled属性,那么是获取不到下拉框的选中值的,所以要在获取选中值之前把 属性移除掉$(“select:disabled”).removeAttr(“disabled”)。并且下拉框如果想要设置禁用,不能使用readonly属性,使用时无效的
4.0 如果同时使用到layui和bootstrap布局,引入的layui的CSS文件一定要在bootstrap的CSS之前,不然会出现bootstrap布局无效。如果使用到layui的form表单,一定要加载form模块,否则select、checkbox、radio等将无法显示,并且无法使用form相关功能
5.0 获取复选框的值,不能直接获取它的value值,因为获取到的值都是为true的
6.0 保存到数据库的密码要进行先加密再保存到数据库,因为要是被别人把你的数据库给破解了,如果密码不加密,那么别人顺其自然的知道了所有的用户密码,从而进行登录操作。
7.0 在vs中@是一个很特殊的符 ,如果用到@符 ,那么要用@@的形式来写;还有用@符 时,还可以用到控制器那边的代码。
8.0如果页面中弹出或者嵌套登录页面,就要在登录页面设置顶级窗口
if (window.top.location.href != window.location.href) {
window.top.location.href = window.location.href;
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!