asp.net中button控制先執(zhí)行js再執(zhí)行后臺(tái)程序的方法
本文實(shí)例講述了asp.net中button控制先執(zhí)行js再執(zhí)行后臺(tái)程序的方法。分享給大家供大家參考。具體分析如下:
在.net中要實(shí)現(xiàn)button控制點(diǎn)擊之后先執(zhí)行js再執(zhí)行后臺(tái)程序這個(gè)看上去沒(méi)什么難度,這里我們就一起來(lái)看一個(gè)asp.net中button控制先執(zhí)行js再執(zhí)行后臺(tái)程序的實(shí)現(xiàn)方法,希望可以幫助到各位。
關(guān)于button這個(gè)服務(wù)器控件,我一直想減少它向服務(wù)器提交數(shù)據(jù)。那些檢測(cè),還是在客戶端實(shí)現(xiàn)就好了。
這就需要javascript,但是我發(fā)現(xiàn)僅僅有javascript還是不夠的。button服務(wù)器控件的單擊事件叫“onClick”,所以javascript就無(wú)法使用這個(gè)事件。因?yàn)橹孛?。我想?shí)現(xiàn)的是單擊button的時(shí)候,先執(zhí)行客戶端的javascript代碼,然后再執(zhí)行后臺(tái)事件。
如果使用的是html控件,就不存在這種問(wèn)題了。但是,我就是想實(shí)現(xiàn)服務(wù)器控件的這一功能,有時(shí)候服務(wù)器控件也是很好用的。
先給aspx頁(yè)面增加一個(gè)服務(wù)器控件button
在頁(yè)面初始化的時(shí)候,給button這個(gè)服務(wù)器控件增加一個(gè)客戶端事件。也就是在Page_Load()這個(gè)方法里面加一句代碼:
{
//給button1添加客戶端事件
btnSave.Attributes.Add("OnClick", "return UserAddVerify()");
}
UserAddVerify 是js端實(shí)現(xiàn)的函數(shù),主要用來(lái)檢測(cè)數(shù)據(jù)的有效性。
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("對(duì)不起,兩次輸入密碼不一樣");
return false;
}
else if (identity == "" || identity == null || identityReg.test(identity) === false) {
alert("請(qǐng)輸入合法的身份證號(hào)碼");
return false;
}
else if (mobile == "" || mobile == null || mobileReg.test(mobile) == false) {
alert("請(qǐng)輸入合法的手機(jī)號(hào)碼");
return false;
}
else if (realName == "" || realName == null) {
alert("姓名不能為空");
return false;
}
return true;
}
上面的return ture和false是很重要的,這決定了是否往下執(zhí)行,往下執(zhí)行就應(yīng)該是將數(shù)據(jù)提交到后臺(tái)處理數(shù)據(jù)。當(dāng)返回true時(shí),后臺(tái)執(zhí)行button1_Click這個(gè)方法(事件)。
希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。
相關(guān)文章
發(fā)布asp.net core時(shí)如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量
這篇文章主要介紹了發(fā)布asp.net core時(shí)如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(一)
界面每個(gè)元素的權(quán)限也是需要控制的。比如一個(gè)查詢用戶的界面里面有查詢用戶按鈕,添加用戶按鈕,刪除用戶按鈕,不同的角色我們得分配不同的權(quán)限2013-12-12使用Visual Studio創(chuàng)建ASP.NET Web API項(xiàng)目
這篇文章介紹了使用Visual Studio創(chuàng)建ASP.NET Web API項(xiàng)目的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03[c#]asp.ent下開(kāi)發(fā)中Tag的開(kāi)發(fā)技巧
[c#]asp.ent下開(kāi)發(fā)中Tag的開(kāi)發(fā)技巧...2007-05-05ASP.NET如何定時(shí)調(diào)用WebService服務(wù)
在ASP.NET程序中,可以通過(guò)Time組件實(shí)現(xiàn)定時(shí)器功能,但是它與數(shù)據(jù)庫(kù)中的任務(wù)計(jì)劃不一樣,它必須基于程序正在運(yùn)行中才可生效,而數(shù)據(jù)庫(kù)任務(wù)計(jì)劃是不需要基于ASP.NET程序運(yùn)行而執(zhí)行任務(wù)。2015-10-10支持ASP.NET MVC、WebFroM的表單驗(yàn)證框架ValidationSuar使用介紹
這篇文章主要介紹了支持ASP.NET MVC、WebFroM的表單驗(yàn)證框架ValidationSuar使用介紹,本文詳細(xì)講解了使用步驟,并給出一個(gè)完整Demo下載,需要的朋友可以參考下2015-06-06ASP.NET實(shí)現(xiàn)MVC中獲取當(dāng)前URL、controller及action的方法
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)MVC中獲取當(dāng)前URL、controller及action的方法,結(jié)合實(shí)例形式分析了asp.net mvc獲取當(dāng)前URL、controller及action的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02asp.net實(shí)現(xiàn)獲取客戶端詳細(xì)信息
這篇文章主要介紹了asp.net實(shí)現(xiàn)獲取客戶端詳細(xì)信息,包括客戶端瀏覽器及主機(jī)信息,感興趣的小伙伴們可以參考一下2015-12-12