国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

教你做一個可以彈出確認對話框的自定義Web服務器控件ConfirmButton

2024-07-21 02:24:27
字體:
來源:轉載
供稿:網(wǎng)友
經(jīng)常在論壇里看到類似這樣的問題:“…如何在點擊刪除按鈕的時候彈出個確認刪除對話框”。

下面我們來自己寫一個這樣的自定義web服務器控件!

思路如下:

繼承system.web.ui.webcontrols.button控件

增加一個屬性“confirmmessage”來表示彈出確認框上面的提示信息。

在服務器控件呈現(xiàn)在頁面之前把一段javascript寫到頁面

內容如下:

<script language="javascript">

<!--

function _doaspxboyconfirm()

{

return confirm("你確認刪除/保存嗎??")

}

//-->

</script>

查一下msdn中對于control.onprerender 方法的描述

可以得到“此方法通知服務器控件在保存視圖狀態(tài)和呈現(xiàn)內容之前,執(zhí)行任何必要的預呈現(xiàn)步驟”.

所以我們只要在onprerender方法內 用page.registerclientscriptblock把這段javascript發(fā)送到客戶端,并且給button. attributes屬性內添加一個“onclick”的客戶端屬性對應值為: "return _doaspxboyconfirm()”.

詳細情況可以查閱

ms-help://ms.vscc.2003/ms.msdnqtr.2003feb.2052/cpref/html/frlrfsystemwebuiwebcontrolswebcontrolclassattributestopic.htm

這樣一個具有confirm功能的button就基本上建立起來了。

新建一個測試該控件的工程

在工具箱上點右鍵選擇“添加/移除項”,點擊瀏覽選擇編譯好的dll文件,點擊確定,你會發(fā)現(xiàn)confirmbutton已經(jīng)添加到工具箱內了

將其托到一個aspx頁面內 在屬性設置內給confirmmessage值為你要的彈出框內容比如“確定刪除嗎?”,按f5運行。

當點該按鈕時會彈出一個confirm對話框詢問“確定刪除嗎?”,如果點擊確定則執(zhí)行button的button_click事件,如果點擊取消則不執(zhí)行。

你可以查看他生成的html代碼,以加深對該控件工作原理的理解

完整的代碼如下:

using system;

using system.web.ui;

using system.web.ui.webcontrols;

using system.componentmodel;

using system.text;



namespace aspxboy.com.confirmbutton

{

/// <summary>

/// button點擊時會彈出一個對話框要求確認

/// </summary>

public class confirmbutton : system.web.ui.webcontrols.button

{

private string _confirmmessage;

/// <summary>

/// 當客戶端點擊此button時彈出的提示消息筐的內容

/// </summary>

public string confirmmessage

{

get

{

return _confirmmessage;

}



set

{

_confirmmessage = value;

}

}



protected override void onprerender(system.eventargs e)

{

stringbuilder sb = new stringbuilder();

sb.append("<script language=/"javascript/">");

sb.append(system.environment.newline);

sb.append("<!--");

sb.append(system.environment.newline);

sb.append("/*--------------------------------------------");

sb.append(system.environment.newline);

sb.append("controlname:/t/taspxboy.com.confirmbutton");

sb.append(system.environment.newline);

sb.append("authorname:/t/t/thuobazi,wumeibo");

sb.append(system.environment.newline);

sb.append("copyright:/t/t/twww.aspxboy.com");

sb.append(system.environment.newline);

sb.append("---------------------------------------------*/");

sb.append(system.environment.newline);

sb.append("function _doaspxboyconfirm()");

sb.append(system.environment.newline);

sb.append("{");

sb.append(system.environment.newline);

sb.append("return confirm(/"");

sb.append(confirmmessage);

sb.append("/")");

sb.append(system.environment.newline);

sb.append("}");

sb.append(system.environment.newline);

sb.append("//-->");

sb.append("</script>");

page.registerclientscriptblock("_doaspxboyconfirm",sb.tostring());

this.attributes.add("onclick","return _doaspxboyconfirm()");

base.onprerender(e);

}

public override void renderbegintag(htmltextwriter writer)

{

writer.writeline();

writer.write("<!-------------------");

writer.write("aspxboy.com.confirmbutton start");

writer.write("/tauthorname: /thuobazi");

writer.writeline(" --------------------->");

writer.write("<!-------------------- ");

writer.write("copyright:2004 huobazi(www.aspxboy.com)");

writer.write(" ---------------------");

writer.writeline(">");

base.renderbegintag(writer);

}

public override void renderendtag(htmltextwriter writer)

{

base.renderendtag(writer);

writer.writeline();

writer.write("<!------------------------------- ");

writer.write("aspxboy.com.confirmbutton end");

writer.write(" --------------------------------");

writer.writeline(">");

writer.writeline();

}

}

}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 抚顺市| 富阳市| 鄱阳县| 油尖旺区| 石城县| 肇州县| 益阳市| 玛多县| 漾濞| 洛扎县| 赤城县| 松桃| 碌曲县| 承德市| 沛县| 高雄市| 英山县| 敖汉旗| 光泽县| 塔城市| 宜章县| 安康市| 依安县| 田林县| 绿春县| 贵州省| 盘山县| 淮南市| 象山县| 阿瓦提县| 洛南县| 红安县| 大城县| 社会| 芷江| 颍上县| 调兵山市| 大新县| 大新县| 海丰县| 南召县|