asp.net伺服器控制項button先執行js再執行背景方法

來源:互聯網
上載者:User
以下可以直接跳過

控制項這東西在asp.net中非常好用,極大加快了開發速度。特別是伺服器控制項這種東西。當年我學網站開發的時候就是從asp.net學起的,而且一度以為網站的原理就是這樣而已——朦,反正這樣做就對了。隨著學的東西越來越多,對網站的原理也瞭解的越來越多。逐漸探索服務器這種東西由當初的加快開發速度變成了降低了開發速度。學的東西越來越多,開發的要求也越來越高,我也逐漸不滿足於伺服器控制項。

伺服器控制項增強了在幕後處理的能力,但是在前台有時候也被受到了限制,還是說,我被受到了限制。

之前一直寫java,覺得java寫網站也是挺快的。突然老大周二跟我說,這邊有一個.net的項目,我就先寫這個吧。然後我又迴歸.net的懷抱,寫asp.net。

由於之前寫的網站不是作業就是社團的網站,一直鑽研與後台,很少接觸前台的東西,寫的網站互動性都不怎麼樣。這次是一個公司的項目,我還是有點壓力。不能弄得太差勁了。

 

關於button這個伺服器控制項,我一直想減少它向伺服器提交資料。那些檢測,還是在用戶端實現就好了。這就需要javascript,但是我發現僅僅有javascript還是不夠的。button伺服器控制項的單擊事件叫“onClick”,所以javascript就無法使用這個事件。因為重名了。我想實現的是

單擊button的時候,先執行用戶端的javascript代碼,然後再執行後台事件。

如果使用的是html控制項,就不存在這種問題了。但是,我就是想實現伺服器控制項的這一功能,有時候伺服器控制項也是很好用的。

 

 

google了一番,找到一個

方法

先給aspx頁面增加一個伺服器控制項button

<asp:Button ID="button1" runat="server" Text="提交"  onclick="button1_Click"/>

在頁面初始化的時候,給button這個伺服器控制項增加一個用戶端事件。也就是在Page_Load()這個方法裡面加一句代碼:

protected void Page_Load(object sender, EventArgs e){                 if (!Page.IsPostBack)            {                //給button1添加用戶端事件                button1.Attributes.Add("OnClick", "return  jsFunction()");
//jsFunction()是js函數 }}
jsFunction()是js函數,在aspx頁面上增加,譬如
<script language="javascript">function jsFunction() {
if (confirm("確定添加員工嗎?")) { return true; } return false; }</script>

上面的return ture和false是很重要的,這決定了是否往下執行,往下執行就應該是將資料提交到幕後處理資料。當返回true時,後台執行button1_Click這個方法(事件)。

 

以上就實現了伺服器控制項button先執行js再執行後台代碼的功能。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.