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按钮后继续执行。

(0)

相关推荐

  • VS初始化命令 ASP.NET常用技巧

    要使用此参数,请执行以下操作: 1. 关闭所有 Visual Studio 2005 实例. 2. 单击"开始",选择"运行...". 3. 键入"devenv.exe /resetuserdata". 此命令会运行几分钟时间,与此同时,Visual Studio 清除设置并将其自身重置到其最初的状态.此时,您可以打开"任务管理器"来检查 devenv.exe 进程是否仍在运行.在结束运行后,可以重新启动 Visual Stu

  • asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧

    public class MyGDI {     public static void CreateWatermark(string sSrcFilePath, string sDstFilePath, string sText1, string sColor1, string sSize1, string sFont1, string sText2, string sColor2, string sSize2, string sFont2, string sBgColor, string sT

  • asp.net下PageMethods使用技巧

    以前一直都是用WEB Project方式开发网站,在不少地方使用PageMethods,可以说是轻车熟路了.这次想尝试下WEB Site方式,因为修改代码后不用编译,再次刷新页面就能看到效果,这点比较方便. 可是我在使用PageMethods时,却遇到了麻烦.加好了ScriptManager,给静态方法加上了[WebMethod]特性,可是页面输出就是看不到ScriptManager:( 以为是.net 3.5或vs2008的问题,google没有答案.又怀疑是网站中某个handlers或是导致

  • ASP.NET User Control使用技巧一则

    User Control在ASP.NET开发中经常用到,如果很多页面都用到同一个User Control的话,那么每个页面都要先用<%@ Register -- %>引入User Control,然后才能使用,这样一来就显得非常麻烦,所以今天教大家一个简单的方法. 首先打开web.config,然后在<system.web>节点中添加如下代码(使用时根据自己情况修改): 程序代码 <pages> <controls> <add tagPrefix=&q

  • Asp.Net性能优化技巧汇总

    本文搜集汇总了Asp.net性能优化的各种技巧,对于Asp.Net开发人员有很好的参考借鉴价值.具体内容如下: 一.选择会话状态存储方式 在Webconfig文件配置: <sessionState mode="???" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

  • asp.net中Null在从数据库读取的时候的一点点小技巧

    它的功能很简单,就是说先在数据库里查找为Name的字段,然后进行判断,如果它的值为空的话,那么number的值就加1. 比如,加黑的就是我们需要注意下的. 复制代码 代码如下: int number = 0; string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\lando\Desktop\UML Extension\MyPratices\WebServices\App_Data\Database1.mdf;I

  • ASP.net Textbox的技巧使用

    ①.大家在做Web开发的时候,可能也会遇到之前我所遇到的问题,在使用TextBox控件时,控件的边缘不能被背景图片完全覆盖掉,如图1: 因为Textbox解析后也是html-Text控件,而Text控件是默认有边,即是border:1px solid #000; 所以只要为Textbox控件加上如下的一小句CSS就可以了,即是"border:0px",最后效果如图2: ②.大家在做Web开发时,不知道大家有没有发现,当将Textbox控件的TextMode = "MultiL

  • ASP.NET常用小技巧

    今天为大家介绍6个ASP.NET常用技巧,使用操作简单,具有很高的实用性,记得收藏哦 1.跟踪页面执行  设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化.ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="True"属性即可:设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化.ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="T

  • ASP.NET 后台登录小技巧介绍

    对于后台一些需要登录才能访问的页面,你是不是每次都去判断一下登录时保存在session或者cookie里面的值是否存在啊!假如后台有几十个这样的页面,那么每次都得判断,真心的感到烦,在这里我分享一下我知道的一个解决这个问题的方法吧!呵呵...大牛莫笑,只是想让初学者学习一下学习.NET的童鞋应该都知道吧,我们建的一个Demo.aspx页面都是继承于Page类,如下图:为了达到我们需要的结果,那好,现在我们来新建一个CheckLoginedPage类 :       现在,让我们的 CheckLo

  • ASP.NET的实用技巧详细介绍

    关于ASP.NET的实用技巧,其实我们已经接触到很多了.下面为大家总结一下,供大家参考. 1.跟踪页面执行 设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化.ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="True"属性即可: <%@ Page Language="C#" Trace="true"> 跟踪信息可以分为两类: a.页面执行详细情况 其中主要包括

  • asp.net项目开发中用到的小技巧

    1 显示枚举的值:<%# (CN80s.DDPM.Model.Enum.EnumBidCardStatus)(int)Eval("PerpaidCard_Status")%> 2 为下拉框绑定枚举: 复制代码 代码如下: GetEnumList(ddlBids); void GetEnumList(DropDownList ddl) { foreach (EnumBidCardType s in System.Enum.GetValues(typeof(EnumBidCar

随机推荐