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(“你真的要刪除嗎?“);
}
...