程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net中button控制先執行js再執行後台程序的方法

asp.net中button控制先執行js再執行後台程序的方法

編輯:ASP.NET基礎

本文實例講述了asp.net中button控制先執行js再執行後台程序的方法。分享給大家供大家參考。具體分析如下:

在.net中要實現button控制點擊之後先執行js再執行後台程序這個看上去沒什麼難度,這裡我們就一起來看一個asp.net中button控制先執行js再執行後台程序的實現方法,希望可以幫助到各位。

關於button這個服務器控件,我一直想減少它向服務器提交數據。那些檢測,還是在客戶端實現就好了。

這就需要javascript,但是我發現僅僅有javascript還是不夠的。button服務器控件的單擊事件叫“onClick”,所以javascript就無法使用這個事件。因為重名了。我想實現的是單擊button的時候,先執行客戶端的javascript代碼,然後再執行後台事件。

如果使用的是html控件,就不存在這種問題了。但是,我就是想實現服務器控件的這一功能,有時候服務器控件也是很好用的。
先給aspx頁面增加一個服務器控件button

在頁面初始化的時候,給button這個服務器控件增加一個客戶端事件。也就是在Page_Load()這個方法裡面加一句代碼:
復制代碼 代碼如下:if (!IsPostBack)
{
 //給button1添加客戶端事件
 btnSave.Attributes.Add("OnClick", "return UserAddVerify()");
}
UserAddVerify 是js端實現的函數,主要用來檢測數據的有效性。
復制代碼 代碼如下: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是很重要的,這決定了是否往下執行,往下執行就應該是將數據提交到後台處理數據。當返回true時,後台執行button1_Click這個方法(事件)。

希望本文所述對大家的asp.net程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved