完成HtmlButton客戶端控制頁面提交
發(fā)表時間:2024-06-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我們知道,在Asp.net中適當(dāng)?shù)氖褂肏tml控件有許多方便之處,Html控件既能在客戶端進(jìn)行腳本處理,又能在網(wǎng)頁提交至服務(wù)器后在cs文件中控制,如果用單獨(dú)的Web服務(wù)器控件則不能做到這一點(diǎn),限制了我們開發(fā)的靈活性.因此我們會在好多地方會使用到HtmlButton控件.下面就談?wù)勗摽丶粋使用的小...
我們知道,在Asp.net中適當(dāng)?shù)氖褂肏tml控件有許多方便之處,Html控件既能在客戶端進(jìn)行腳本處理,又能在網(wǎng)頁提交至服務(wù)器后在cs文件中控制,如果用單獨(dú)的Web服務(wù)器控件則不能做到這一點(diǎn),限制了我們開發(fā)的靈活性.因此我們會在好多地方會使用到HtmlButton控件.下面就談?wù)勗摽丶粋使用的小技巧:
如果要點(diǎn)擊HtmlButton后使網(wǎng)頁提交,我們會選擇將該HtmlButton作為服務(wù)器控件運(yùn)行.這樣做每次點(diǎn)擊HtmlButton都會使頁面提交至服務(wù)器,但如果我們需要在點(diǎn)擊按鈕之后在客戶端做一些處理,然后再選擇是否使網(wǎng)頁提交,按照一般的處理方法,似乎HtmlButton無能為力了,但是我們分析一下HtmlButton在網(wǎng)頁運(yùn)行后生成的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事件,從而使網(wǎng)頁提交,那明白它的執(zhí)行過程,我們就知道該怎么做了,如果我們在__doPostBack('clientbutton','')執(zhí)行之前,給按鈕加一客戶端操作再決定是否提交這們不就滿足我們的需求了,大家明白實(shí)現(xiàn)原理了,我就不講那么羅瑣了,下面我就說怎樣實(shí)現(xiàn)了:
1 我們在后臺cs文件中給HtmlButton加屬性,其中clientbutton為HtmlButton為id,clientoper為客戶端javascript function. clientbutton.Attributes.Add("onclick","if(!clientoper()){return;}");
該話句一般放在網(wǎng)頁加載事件中.
2 客戶端添加clientoper方法,執(zhí)行您需要的操作,操作完成之后根據(jù)返回值決定是否需要提交,返回true網(wǎng)頁提交,false則不提交.
<script language=javascript>
function clientoper()
{
//這里可以執(zhí)行客戶端操作,比如驗(yàn)證之類的
//這里判斷是否提交
var result=window.confirm("您確認(rèn)要提交嗎?");
if(result)
{
return true;
}
else
{
return false;
}
}
</script>
方法也很簡單,相信朋友們一看就明白了,說到這有朋友問了,可這只適用于HtmlButton,按鈕,多死板,如果想用圖片做按鈕怎么辦,方法當(dāng)然有,也不需要修改什么,研究一下按鈕的css樣式就滿足你的需要了!