ASP.NET改變了我們的編程方法,使得開(kāi)發(fā)BS程序更加簡(jiǎn)單。但如果大量使用服務(wù)器控件勢(shì)必會(huì)造成網(wǎng)頁(yè)頻繁提交,操作極不友好,也增加了服務(wù)器的負(fù)擔(dān)。把一些必要的驗(yàn)證工作放在客戶(hù)端執(zhí)行,只有通過(guò)驗(yàn)證時(shí)才進(jìn)行提交,就可以大大減少網(wǎng)頁(yè)的刷新次數(shù)。
例如當(dāng)我們按下“刪除”按鈕時(shí),先在客戶(hù)端進(jìn)行一下確認(rèn):彈出一個(gè)“是否真的要?jiǎng)h除”的對(duì)話(huà)框。當(dāng)用戶(hù)按下“是”是才提交至服務(wù)器執(zhí)行刪除程序。如果按下否,則終止后緒的提交動(dòng)作。提交是不要進(jìn)行太多可考慮,因?yàn)榉⻊?wù)器的按鈕控件是會(huì)自動(dòng)完成,現(xiàn)在我給大家介紹終止提交的方法:
在DHTML中,每一個(gè)事件的處理都可以用return false來(lái)終止后緒動(dòng)作的執(zhí)行。如<BODY oncontextmenu = “javascript: return false;”>可以禁止頁(yè)面上的右鍵菜單。對(duì)于服務(wù)器的按鈕來(lái)說(shuō),我們可以在第一次載入時(shí)(PageLoad)服務(wù)器端給它加入一個(gè)OnClick屬性用來(lái)執(zhí)行客戶(hù)端角本: this.DelButton.Attribute.Add(”O(jiān)nClick”, “javascript:return delConfirm();”);在用戶(hù)按下“刪除”按鈕時(shí),它會(huì)先執(zhí)行客戶(hù)的的delConfirm()函數(shù)。注意:紅色字體的javascript:return (用來(lái)接收函數(shù)的返回結(jié)果)及;號(hào)(按鈕的提交動(dòng)作將以角本方式注冊(cè)在止之;號(hào)之后,如果不用;號(hào)來(lái)隔開(kāi)將會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤)是必須的。而在客戶(hù)端的函數(shù)中必須要有返回結(jié)果,其中return false;將終止后面的角本操作,而其它返回結(jié)果將繼續(xù)執(zhí)行。
這樣刪除處理的完整方法如下:
服務(wù)器端:
private void Page_Load()
{
...
if (!this.IsPostBack)
{
...
this.delButton.Attribute.Add(“OnClick“, “javascript:return delConfirm();“);
... }
... }
...
private void delButton_Click(object sender, EventArgs e)
{
... }
...
客戶(hù)端:
...
<SCRIPT language=javascript>
function delConfirm()
{
return confirm(“你真的要?jiǎng)h除嗎?“); }
</SCRIPT>
...
|
溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!