asp.net 开发的一些常用技巧
更新时间:2009年07月10日 22:33:12 作者:
asp.net开发过程中,发现的一些不错技巧,能用的到的朋友有福了。
不使用页面缓存:
你可以在不想被缓存的页面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按钮后继续执行。
相关文章
Asp.Net数据控件引用AspNetPager.dll分页实现代码
今天与大家分享一下“Asp.Net数据控件引用AspNetPager.dll分页”首先声明以下几点2012-01-01Web.Config文件配置之限制上传文件大小和时间的属性配置
在Web.Config文件中配置限制上传文件大小与时间字符串时,是在httpRuntime httpRuntime节中完成的,需要设置以下2个属性:maxRequestLength属性与ExecutionTimeout属性,感兴趣的朋友可以了解下,或许对你有所帮助2013-02-02asp.net+sqlserver实现的简单高效的权限设计示例
大部分系统都有权限系统。一般来说,它能管控人员对某个否页面的访问;对某些字段、控件可见或者不可见。对gridview中的数据是否可删除、可添加、可新增等等。2010-04-04ASP.NET―001:GridView绑定List、页面返回值具体实现
这篇文章主要介绍了ASP.NET―GridView绑定List、页面返回值具体实现,需要的朋友可以参考下2014-02-02
最新评论