程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net 開發的一些常用技巧

asp.net 開發的一些常用技巧

編輯: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按鈕後繼續執行。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved