DHTML技巧–中止網頁的提交

來源:互聯網
上載者:User

ASP.NET改變了我們的編程方法,使得開發BS程式更加簡單。但如果大量使用伺服器控制項勢必會造成網頁頻繁提交,操作極不友好,也增加了伺服器的負擔。把一些必要的驗證工作放在用戶端執行,只有通過驗證時才進行提交,就可以大大減少網頁的重新整理次數。

例如當我們按下“刪除”按鈕時,先在用戶端進行一下確認:彈出一個“是否真的要刪除”的對話方塊。當使用者按下“是”是才提交至伺服器執行刪除程式。如果按下否,則終止後緒的提交動作。提交是不要進行太多可考慮,因為伺服器的按鈕控制項是會自動完成,現在我給大家介紹終止提交的方法:

在DHTML中,每一個事件的處理都可以用return false來終止後緒動作的執行。如oncontextmenu = “javascript: return false;”>可以禁止頁面上的右鍵菜單。對於伺服器的按鈕來說,我們可以在第一次載入時(PageLoad)伺服器端給它加入一個OnClick屬性用來執行用戶端角本: this.DelButton.Attribute.Add(”OnClick”, “javascript:return delConfirm();”);在使用者按下“刪除”按鈕時,它會先執行客戶的的delConfirm()函數。注意:紅色字型的javascript:return (用來接收函數的返回結果)及;號(按鈕的提交動作將以角本方式註冊在止之;號之後,如果不用;號來隔開將會出現語法錯誤)是必須的。而在用戶端的函數中必須要有返回結果,其中return false;將終止後面的角本操作,而其它返回結果將繼續執行。

這樣刪除處理的完整方法如下:

伺服器端:

private void Page_Load()

{

    ...

    if (!this.IsPostBack)

    {

      ...

      this.delButton.Attribute.Add(“OnClick“, “javascript:return delConfirm();“);

      ...
    }

    ...
}

...

private void delButton_Click(object sender, EventArgs e)

{

    ...
}

...

用戶端:

...


function delConfirm()

{

??? return confirm(“你真的要刪除嗎?“);
}


...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.