asp.net 开发的一些常用技巧
程序员文章站
2024-03-11 13:20:55
不使用页面缓存: 你可以在不想被缓存的页面page_load事件中加上如下代码 复制代码 代码如下:response.expires = 0; response.buffe...
不使用页面缓存:
你可以在不想被缓存的页面page_load事件中加上如下代码
response.expires = 0;
response.buffer = true;
response.expiresabsolute = datetime.now.addseconds(-1);
response.addheader("pragma", "no-cache");
response.cachecontrol = "no-cache";
编译成dll:
“开始”—“运行”—“cmd” ,用下面的两条命令编译authcode.cs文件为.dll文件。(authcode.cs文件保存在“c:\windows\microsoft.net\framework\v2.0.50727”目录下)命令如下:
cd c:\windows\microsoft.net\framework\v2.0.50727
csc /target:library authcode.cs
gridview导出到excel代码2:
public override void verifyrenderinginserverform(control control)
{
//(必须有)
//base.verifyrenderinginserverform(control);
}
public void generate(string typename, string scswid, gridview tempgrid)
{
httpcontext.current.response.clear();
httpcontext.current.response.charset = "utf-8";
string filename = typename + scswid + ".xls";
httpcontext.current.response.appendheader("content-disposition", "online;filename=" + filename);
httpcontext.current.response.contentencoding = system.text.encoding.getencoding("utf-8");
httpcontext.current.response.contenttype = "application/ms-excel";
system.io.stringwriter ostringwriter = new system.io.stringwriter();
system.web.ui.htmltextwriter ohtmltextwriter = new system.web.ui.htmltextwriter(ostringwriter);
tempgrid.rendercontrol(ohtmltextwriter);
httpcontext.current.response.write(ostringwriter.tostring());
httpcontext.current.response.end();
}
提示并跳转:
scriptmanager.registerstartupscript(this.page, gettype(),
"askandrederect", "alert('请先登录!');window.location.href='index.aspx';", true);
gridview中删除某一行前询问:
((linkbutton)e.row.cells[4].controls[2]).attributes.add("onclick", "javascript:return confirm('您确认要删除吗?')");
gridview隔行变色代码:
protected void gvlinkman_rowdatabound(object sender, gridviewroweventargs e)
{
if (e.row.rowtype == datacontrolrowtype.datarow)
{
e.row.attributes.add("onmouseover", "c=this.style.backgroundcolor;this.style.backgroundcolor='#00a9ff'");
//当鼠标移开时还原背景色
e.row.attributes.add("onmouseout", "this.style.backgroundcolor=c");
}
}
asp.net 正则表达式:
//验证手机号
regex r = new regex(@"^(13|15|18)\d{9}$");
return r.ismatch(mobilephone);
//带86或者+86的手机号
regex regexmobile = new regex(@"^((\+86)|(86))?(13|15|18)\d{9}$");
//验证是否为中文
regex regex = new regex("^[一-龥]+$");
//decimal(8,4)类型小数的验证
regex rx = new regex(@"^-?(?:[1-9][0-9]{0,3}|0)(?:\.[0-9]{1,4})?$");
//验证输入是否为数字和字母的组合
regex = new regex("^[一-龥_a-za-z0-9]+$");
//验证输入是否全为数字
regex = new regex("^[0-9]+$");
//验证输入是否全为中文
regex = new regex("^[一-龥]+$");
//电子邮件
regex=new regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-za-z]{2,4}|[0-9]{1,3})(\]?)$");
//验证网址
regex = new regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
//电话号码
regex = new regex(@"(\d{3})?\d{8}|(\d{4})(\d{7})");
将button关联上回车键的js方法:
在网页中设置回车键的解决方法是使用javascript的document.onkeydown()方法捕捉键盘点击事件,使用event.keycode来获取用户点击的键位。
function document.onkeydown()
{
if(event.keycode == 13)
{
button.click();//点击回车键调用button的点击事件
event.returnvalue = false;//取消回车键的默认操作
}
}
如果button按钮为服务器端的按钮,则更改如下
function document.onkeydown()
{
//使用document.getelementbyid获取到按钮对象
var button = document.getelementbyid('<=serverbutton.clientid%>');
if(event.keycode == 13)
{
button.click();
event.returnvalue = false;
}
}
如果按钮在用户控件中,上面的方法可以放在用户控件中使用。
一定要取消回车键的默认操作,否则默认的按钮还会在执行了button按钮后继续执行。
你可以在不想被缓存的页面page_load事件中加上如下代码
复制代码 代码如下:
response.expires = 0;
response.buffer = true;
response.expiresabsolute = datetime.now.addseconds(-1);
response.addheader("pragma", "no-cache");
response.cachecontrol = "no-cache";
编译成dll:
“开始”—“运行”—“cmd” ,用下面的两条命令编译authcode.cs文件为.dll文件。(authcode.cs文件保存在“c:\windows\microsoft.net\framework\v2.0.50727”目录下)命令如下:
cd c:\windows\microsoft.net\framework\v2.0.50727
csc /target:library authcode.cs
gridview导出到excel代码2:
复制代码 代码如下:
public override void verifyrenderinginserverform(control control)
{
//(必须有)
//base.verifyrenderinginserverform(control);
}
public void generate(string typename, string scswid, gridview tempgrid)
{
httpcontext.current.response.clear();
httpcontext.current.response.charset = "utf-8";
string filename = typename + scswid + ".xls";
httpcontext.current.response.appendheader("content-disposition", "online;filename=" + filename);
httpcontext.current.response.contentencoding = system.text.encoding.getencoding("utf-8");
httpcontext.current.response.contenttype = "application/ms-excel";
system.io.stringwriter ostringwriter = new system.io.stringwriter();
system.web.ui.htmltextwriter ohtmltextwriter = new system.web.ui.htmltextwriter(ostringwriter);
tempgrid.rendercontrol(ohtmltextwriter);
httpcontext.current.response.write(ostringwriter.tostring());
httpcontext.current.response.end();
}
提示并跳转:
复制代码 代码如下:
scriptmanager.registerstartupscript(this.page, gettype(),
"askandrederect", "alert('请先登录!');window.location.href='index.aspx';", true);
gridview中删除某一行前询问:
复制代码 代码如下:
((linkbutton)e.row.cells[4].controls[2]).attributes.add("onclick", "javascript:return confirm('您确认要删除吗?')");
gridview隔行变色代码:
复制代码 代码如下:
protected void gvlinkman_rowdatabound(object sender, gridviewroweventargs e)
{
if (e.row.rowtype == datacontrolrowtype.datarow)
{
e.row.attributes.add("onmouseover", "c=this.style.backgroundcolor;this.style.backgroundcolor='#00a9ff'");
//当鼠标移开时还原背景色
e.row.attributes.add("onmouseout", "this.style.backgroundcolor=c");
}
}
asp.net 正则表达式:
复制代码 代码如下:
//验证手机号
regex r = new regex(@"^(13|15|18)\d{9}$");
return r.ismatch(mobilephone);
//带86或者+86的手机号
regex regexmobile = new regex(@"^((\+86)|(86))?(13|15|18)\d{9}$");
//验证是否为中文
regex regex = new regex("^[一-龥]+$");
//decimal(8,4)类型小数的验证
regex rx = new regex(@"^-?(?:[1-9][0-9]{0,3}|0)(?:\.[0-9]{1,4})?$");
//验证输入是否为数字和字母的组合
regex = new regex("^[一-龥_a-za-z0-9]+$");
//验证输入是否全为数字
regex = new regex("^[0-9]+$");
//验证输入是否全为中文
regex = new regex("^[一-龥]+$");
//电子邮件
regex=new regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-za-z]{2,4}|[0-9]{1,3})(\]?)$");
//验证网址
regex = new regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
//电话号码
regex = new regex(@"(\d{3})?\d{8}|(\d{4})(\d{7})");
将button关联上回车键的js方法:
在网页中设置回车键的解决方法是使用javascript的document.onkeydown()方法捕捉键盘点击事件,使用event.keycode来获取用户点击的键位。
复制代码 代码如下:
function document.onkeydown()
{
if(event.keycode == 13)
{
button.click();//点击回车键调用button的点击事件
event.returnvalue = false;//取消回车键的默认操作
}
}
如果button按钮为服务器端的按钮,则更改如下
复制代码 代码如下:
function document.onkeydown()
{
//使用document.getelementbyid获取到按钮对象
var button = document.getelementbyid('<=serverbutton.clientid%>');
if(event.keycode == 13)
{
button.click();
event.returnvalue = false;
}
}
如果按钮在用户控件中,上面的方法可以放在用户控件中使用。
一定要取消回车键的默认操作,否则默认的按钮还会在执行了button按钮后继续执行。