Asp.net中實現HtmlButton用戶端控制網頁提交實現

來源:互聯網
上載者:User

引用:http://www.asp315.com/news/9/200511242350907608.htm

我們知道,在Asp.net中適當的使用Html控制項有許多方便之處,Html控制項既能在用戶端進行指令碼處理,又能在網頁提交至伺服器後在cs檔案中控制,如果用單獨的Web伺服器控制項則不能做到這一點,限制了我們開發的靈活性.因此我們會在好多地方會使用到HtmlButton控制項.下面就談談該控制項一個使用的小技巧:
如果要點擊HtmlButton後使網頁提交,我們會選擇將該HtmlButton作為伺服器控制項運行.這樣做每次點擊HtmlButton都會使頁面提交至伺服器,但如果我們需要在點擊按鈕之後在用戶端做一些處理,然後再選擇是否使網頁提交,按照一般的處理方法,似乎HtmlButton無能為力了,但是我們分析一下HtmlButton在網頁運行後產生的Html,產生Html如下: 

<input language="javascript" onclick="__doPostBack('clientbutton','')" name="clientbutton" id="clientbutton" type="button" style="Z-INDEX: 101; LEFT: 168px; POSITION: absolute; TOP: 80px" value="Button" />
我們看到產生的Html給按鈕添加了一下onclick事件,從而使網頁提交,那明白它的執行過程,我們就知道該怎麼做了,如果我們在__doPostBack('clientbutton','')執行之前,給按鈕加一用戶端操作再決定是否提交這們不就滿足我們的需求了,大家明白實現原理了,我就不講那麼羅瑣了,下面我就說怎樣實現了:

1 我們在後台cs檔案中給HtmlButton加屬性,其中clientbutton為HtmlButton為id,clientoper為用戶端javascript function. clientbutton.Attributes.Add("onclick","if(!clientoper()){return;}");
該話句一般放在網頁載入事件中.
2 用戶端添加clientoper方法,執行您需要的操作,操作完成之後根據傳回值決定是否需要提交,返回true網頁提交,false則不提交.
<script language=javascript>
function clientoper()
{
//這裡可以執行用戶端操作,比如驗證之類的
//這裡判斷是否提交
var result=window.confirm("您確認要提交嗎?");
if(result)

return true; 
}
else
{
return false;
}
}
</script>
方法也很簡單,相信朋友們一看就明白了,說到這有朋友問了,可這隻適用於HtmlButton,按鈕,多死板,如果想用圖片做按鈕怎麼辦,方法當然有,也不需要修改什麼,研究一下按鈕的css樣式就滿足你的需要了!

好了,如果有不明白的地方,我們再一起探討,也祝大家的程式生活多姿多彩!
相關文章

聯繫我們

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