日常问题总结 三
#Server.HtmlEncode
对一段字符串进行html编码
response.write(Server.HTMLEncode("Theimage tag: <img>"))
输出为:The image tag: <img>
浏览器端显示为:The image tag: <img>
#ASP.Net中Session对象默认的有效期为20分钟
IIS中Session的默认有效期为20分,对于登录到ASP应用程序的用户来说,如果在设置的时间内没进行任何操作,超时后Session就会被撤销。同通过Session.TimeOut来设置过期时间,单位为分钟。
#Server.Transer
与Response.Redirect相比,Server.Transer同服务端直接转向别的页面,Redirect需要让浏览器重新请求新的页面;所以Redirect需要在服务端和客户端往返两次,Transfer则不必要这样;但使用Transfer后,浏览器显示的URL没有变化,因为浏览器并不知道服务端进行了Transfer;Transfer只能跳转到本地虚拟目录中的页面,Redirect则不受限制。
#JavaScript给获取控件并赋值
vara=document.getElementById(“ID”);
a.Value=”value”;
#CSS选择器
HtmlSelector:直接在大括号前写html标签;
ClassSelector:在标签中定义class属性后,在样式中引用class属性的值;
Id Selector:在标签中定义ID属性,在样式中引用ID
Associationselector关联选择器:选择器的嵌套使用,基本使用举例:
div p {…}
<div>
<p>Association selector</p>
</div>
Combinationselector 组合选择器:可以同时用于多种样式,如:
p,div,a{…}
<p>style1</p>
<div>style1</div>
<a>style1</a>
这些元素会被设置为相同的样式。
#Http状态码
1字头,消息;
2字头,成功;
3字头,重定向;
4字头,请求错误;
5、6字头,服务器错误
典型的错误码:
100Continue,告知客户端它的部分请求已经被服务器接收,可以继续发送剩余部分;
200OK,请求已成功;
202Accepted,服务器已接收请求,但尚未处理,异步请求常用;
300Multiple Choices,被请求的资源有一系列可供选择的回馈信息,用户或浏览器能够选择一个首选的地址进行重定向;
304Not Modifued,如果GET请求的内容没有变化,直接从浏览器缓存获取资源;
400Bad Request,当前请求无法被服务器理解;
407Proxy Authentication Required,客户端需在代理服务器上进行身份验证;
501Not Implemented,当前服务器无法识别请求的方法,并且无法支持其对任何资源的请求;
502Bad Gateway,作为网关或者代理工作的服务器尝试执行请求时,从上有服务器接收到无效的响应
#DDL DML DCL
SQL命令的分类
DDL,Data DefinitionLanguage,数据定义语言,主要包含CREATE ALTER DROP等,主要用在定义或改变表的结构、数据类型、表关系、约束等。
DML,Data ManipulationLanguage,数据操纵语言,包含SELECT UPDATE INSERT DELETE。
DCL,Data Control Language,数据库控制语义,包含GRANT DENY REVOKE等,用来设置或更改数据库用户或角色权限。
DBCC是另外的东西,DataBaseConsole Command,数据库控制台命令,这些语句对数据库的物理和逻辑一致性进行检查。许多DBCC语句能够对检测到的问题进行修复。
在查询窗口输入dbcc help('?')可以查看DBCC命令列表,但只显示公开的命令列表,如果在执行help命令前输入DBCC TRACEON(2588) ,隐藏命令也会显示,一共100多个。
#阻断finally的执行
return、throw这些无论在try还是catch中都无法跳过finally,用System.Environment.Exit(0)可以做到,看来能够让当前线程在执行finally前终止的方法才可以做到。
#十进制与二进制转换时的精度问题:
用float与double表示十进制时,是用浮点数方式近似表示的,使用decimal则不会损失精度。
在内存中,float与double采用相同的存储方式,用科学计数法:
float占32字节,包含1位符号位,指数长度占8位,尾数长度占23位;
double占64字节,包含1位符号位,指数长度占11位,尾数长度占52位;
而decimal占128位,与浮点数相比,它的指数部分是十进制数,可以准确表示十进制,但数值范围较小,与浮点数相互转换时可能溢出。decimal的运算速度也较慢。
对于数据库的decimal类型,decimal(4,2)表示一共4为,小数位占2位。如果将13.456写入decimal(4,2),会保存为13.46,最后多余的小数位四舍五入;如果尝试将134.56写入,会报溢出错误。