首页 > 代码库 > 日常问题总结 三

日常问题总结 三

#Server.HtmlEncode

对一段字符串进行html编码

response.write(Server.HTMLEncode("Theimage tag: <img>"))

输出为:The image tag: &lt;img&gt

浏览器端显示为: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=http://www.mamicode.com/”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写入,会报溢出错误。

 

 

 

 

 

日常问题总结 三