本文實例講述了asp.net中button控制先執(zhí)行js再執(zhí)行后臺程序的方法。分享給大家供大家參考。具體分析如下:
在.net中要實現(xiàn)button控制點擊之后先執(zhí)行js再執(zhí)行后臺程序這個看上去沒什么難度,這里我們就一起來看一個asp.net中button控制先執(zhí)行js再執(zhí)行后臺程序的實現(xiàn)方法,希望可以幫助到各位。
關(guān)于button這個服務(wù)器控件,我一直想減少它向服務(wù)器提交數(shù)據(jù)。那些檢測,還是在客戶端實現(xiàn)就好了。
這就需要javascript,但是我發(fā)現(xiàn)僅僅有javascript還是不夠的。button服務(wù)器控件的單擊事件叫“onClick”,所以javascript就無法使用這個事件。因為重名了。我想實現(xiàn)的是單擊button的時候,先執(zhí)行客戶端的javascript代碼,然后再執(zhí)行后臺事件。
如果使用的是html控件,就不存在這種問題了。但是,我就是想實現(xiàn)服務(wù)器控件的這一功能,有時候服務(wù)器控件也是很好用的。
先給aspx頁面增加一個服務(wù)器控件button
在頁面初始化的時候,給button這個服務(wù)器控件增加一個客戶端事件。也就是在Page_Load()這個方法里面加一句代碼:
復制代碼 代碼如下:
if (!IsPostBack)
{
//給button1添加客戶端事件
btnSave.Attributes.Add("OnClick", "return UserAddVerify()");
}
UserAddVerify 是js端實現(xiàn)的函數(shù),主要用來檢測數(shù)據(jù)的有效性。
復制代碼 代碼如下:
function UserAddVerify() {
var userName = document.getElementById("TxtUserName").value;
var password = document.getElementById("TxtUserPassword").value;
var repassword = document.getElementById("TxtUserPasswordConfirm").value;
var identity = document.getElementById("TxtUserIdentity").value;
var mobile = document.getElementById("TxtUserMobile").value;
var realName = document.getElementById("TxtUserRealName").value;
var btnSave = document.getElementById("btnSave");
var identityReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
var mobileReg = /1[3-8]+\d{9}/;
if (userName == "" || userName == null) {
alert("用戶名不能為空");
return false;
}
else if (password == "" || password == null) {
alert("密碼不能為空");
return false;
}
else if (repassword == "" || repassword == null || repassword != password) {
alert("對不起,兩次輸入密碼不一樣");
return false;
}
else if (identity == "" || identity == null || identityReg.test(identity) === false) {
alert("請輸入合法的身份證號碼");
return false;
}
else if (mobile == "" || mobile == null || mobileReg.test(mobile) == false) {
alert("請輸入合法的手機號碼");
return false;
}
else if (realName == "" || realName == null) {
alert("姓名不能為空");
return false;
}
return true;
}
上面的return ture和false是很重要的,這決定了是否往下執(zhí)行,往下執(zhí)行就應(yīng)該是將數(shù)據(jù)提交到后臺處理數(shù)據(jù)。當返回true時,后臺執(zhí)行button1_Click這個方法(事件)。
希望本文所述對大家的asp.net程序設(shè)計有所幫助。
您可能感興趣的文章:- asp.net下linkbutton的前后臺使用方法
- asp.net button 綁定多個參數(shù)
- 關(guān)于asp.net button按鈕的OnClick和OnClientClick事件
- asp.net js模擬Button點擊事件
- js觸發(fā)asp.net的Button的Onclick事件應(yīng)用
- ASP.NET自定義Web服務(wù)器控件之Button控件
- ASP.NET中ImageButton圖片按鈕控件的使用
- ASP.NET 中 Button、LinkButton和ImageButton 三種控件的使用詳解