网页开发中的一些记录
1,ul标签取消圆点
<li>
test
</li>
<li>
good
</li>
</ul>
list-style-type的其他属性和效果看这里:http://www.dreamdu.com/css/property_list_style_type/
2、VS2008中的JQuery智能感应
首先打上VS2008的SP1补丁,之后下载VS90SP1-KB958502-x86.exe安装.然后下载jquery-1.3.2.js和jquery-1.3.2-vsdoc.js文件放在同一目录下。使用jquery的时候引用"jquery-1.3.2.js"就会智能感应。
注意:部署的时候,请使用Min版本(jquery-1.3.2.min.js).另外min版本无法智能感应。
附件已经包含以下文件:jquery-1.3.2.js,jquery-1.3.2.min.js,jquery-1.3.2-vsdoc.js
下载:https://files.cnblogs.com/conan304/jquery-1.3.2.zip
3、非常好用的日历控件:My97
特点:免费、功能强大、丰富的文档、更新速度快。
地址:http://www.my97.net/
记录:日历默认每周以星期天开始,如果想设置每周星期一开始,则打开My97DatePicker\WdatePicker.js,找到firstDayOfWeek属性,默认是0星期天,改为1则为周一开始。
4、几个常用正则
手机号码:
2016年12月17日 17:00:13 李云龙 V1版本
手机号码、固定电话正则表达式规则如下(重点关注云南省区号情况):
1、固定电话,不能有-,即为087161234567的形式,固定电话,除掉区号,第一位只能为2-8,不能为0、1、9。
2、固定电话,区号三位数的,号码是8位,共11位,注意026未分配。如01061234567
3、固定电话,区号是四位数的,号码可以是7位或者8位。但昆明只能是8位,6开头如087161234567,省内其他地方087X的为7位,如文山为08762134567。
4,手机号码为11为,13和18为全段,14段分配了145和147,15段154未分配,17段(虚拟运营商)分配了170、171、173、175-8。
5,云南省区号:0691 西双版纳,0692 德宏,0870 昭通,0871 昆明,0872 大理,0873 红河,0874 曲靖
0875 保山,0876 文山,0877 玉溪,0878 楚雄,0879 普洱,0883 临沧,0886 怒江,0887 迪庆,0888 丽江
6,固话正则:^010[2-8]\d{7}|02[0-57-9][2-8]\d{7}|0[3-79][1-9]\d[2-8]\d{6,7}|08[1-689]\d[2-8]\d{6,7}|08716\d{7}|087[02-9][2-8]\d{6}$
7,手机正则:^1(3\d{2}|4[57]\d|5[0-35-9]\d|7[0135-8]\d|8\d{2})\d{7}$
8.固话和手机正则:^010[2-8]\d{7}|02[0-57-9][2-8]\d{7}|0[3-79][1-9]\d[2-8]\d{6,7}|08[1-689]\d[2-8]\d{6,7}|08716\d{7}|087[02-9][2-8]\d{6}|13\d{9}|14[57]\d{8}|15[0-35-9]\d{8}|17[0135-8]\d{8}|18\d{9}$
强大的电子邮件正则表达式: /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i
具体解释看这里:http://topic.csdn.net/t/20040721/00/3194150.html
5、SQL Server密码的特殊字符在web.config中的处理。
需要转义,转义表如下:
':'
&: &
<: <
>: >
\r:
\n:
6、JQuery操作下拉框(dropdownlist)
<option value="1">测试1</option>
<option value="2">测试2</option>
</select>
<input type="button" name="button1" value="测试" id="button1" />
$(function() {
$("#button1").click(function() {
var ddlValue = $("#ddl").val(); //选中的值
alert("选中的是值是'" + ddlValue + "'");
var ddlText = $("select[name='ddl'] option:selected").text(); //选中的文本 option:selected表示被选中
alert("选中的文本是'" + ddlText + "'");
});
});
</script>
7,asp.net实现返回上一页,代码如下:
8、Gridview中的HyperLink绑定多参数,代码如下:
9、"视图状态无效"的解决方法
在提交的页面顶部加上
10、SQL Server中的tinyint,smallint,int,bigint和C#中的数据对应
smallint--->short -32,768 到 32,767 有符号16位整数
int-->int -2,147,483,648 到 2,147,483,647 有符号32位整数
bigint-->long -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 有符号64位整数
11、SQL Server中的MD5和SHA1的获取
在 SQL Server 2005 中,微软提供了一个函数 hashbytes() 可以用来计算一个字符串的 MD5 和 SHA1 值,以下语句分别获得字符串 “12345” 的 MD5 和 SHA1:
SELECT hashbytes('MD5', '12345') ;
SELECT hashbytes('SHA1', '12345') ;
hashbytes() 函数的返回结果是 varbinary 型,也就是以 0x 开头 16 进制形式的二进制数据,不过通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用 CAST 或 Convert 函数将varbinary 转换为 varchar,但这样转换后的结果会是乱码,正确转换 varbinary 可变长度二进制型数据到 16 进制字符串应该使用系统内置函数 sys.fn_VarBinToHexStr(),如下所示:
--0xe10adc3949ba59abbe56e057f20f883e
SELECT sys.fn_VarBinToHexStr(hashbytes('SHA1', '123456'))
--0x7c4a8d09ca3762af61e59520943dc26494f8941b
SELECT right(sys.fn_VarBinToHexStr(hashbytes('MD5', '123456')),32)
--e10adc3949ba59abbe56e057f20f883e
SELECT right(sys.fn_VarBinToHexStr(hashbytes('SHA1', '123456')),40)
--7c4a8d09ca3762af61e59520943dc26494f8941b
/// 得到32位16进制的MD5值
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private string getMd5Hash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
/// <summary>
/// 得到40位16进制的SHA1值
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private string getSha1Hash(string input)
{
SHA1 sha = new SHA1CryptoServiceProvider();
byte[] data = sha.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
12,System.Web.UI.Page.RegisterClientScriptBlock(string, string) 已过时的解决办法
警告“System.Web.UI.Page.RegisterClientScriptBlock(string, string)”已过时:“The recommended alternative is ClientScript.RegisterClientScriptBlock(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202”
如果出现类似的警告,则应该这样处理:
如你的警告代码为:
//可以改为:
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('../Issue/IssueAllComment.aspx');</script>");
13,GridView显示HTML
在需要绑定的列,加入参数HtmlEncode="false"
from master..spt_values
where type='p'
14,Gridview不显示边框和标题
15,SQL Server区分大小写
--1,修改表的字段为区分大小写
ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--2,查询的时候区分大小写
SELECT * FROM tablename WHERE column1 COLLATE Chinese_PRC_CS_AS= 'Xxxx'
--或者
SELECT * FROM tablename WHERE column1='Xxxx' COLLATE Chinese_PRC_CS_AS
--注意:CI 指定不区分大小写,CS 指定区分大小写。AI 指定不区分重音,AS指定区分重音。
15,SQL Server 2008 删除日志
/*
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
*/
--(SQL2005)
Backup Log DNName with no_log
go
dump transaction DNName with no_log
go
USE DNName
DBCC SHRINKFILE (2)
Go
--------------------------------------------------------------
/*(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
*/
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log', 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO
/*
优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
*/
16,C#显示中文格式的星期几
//星期日
17,关于“因为数据库正在使用,所以无法获得对数据库的独占访问权”的最终解决方案