人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

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

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

更新時間:2022-06-05 文章作者:未知 信息來源:網絡 閱讀次數:

經常在論壇里看到類似這樣的問題:“…如何在點擊刪除按鈕的時候彈出個確認刪除對話框”。

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

思路如下:

繼承System.Web.UI.WebControls.Button控件

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

在服務器控件呈現在頁面之前把一段javascript寫到頁面

內容如下:

<script language="JavaScript">

<!--

function _doAspxBoyConfirm()

{

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

}

//-->

</script>

查一下msdn中對于Control.OnPreRender 方法的描述

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

所以我們只要在OnPreRender方法內 用Page.RegisterClientScriptBlock把這段javascript發送到客戶端,并且給Button. Attributes屬性內添加一個“onclick”的客戶端屬性對應值為: "return _doAspxBoyConfirm()”.

詳細情況可以查閱

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemwebuiwebcontrolswebcontrolclassattributestopic.htm

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

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

在工具箱上點右鍵選擇“添加/移除項”,點擊瀏覽選擇編譯好的dll文件,點擊確定,你會發現ConFirmButton已經添加到工具箱內了

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

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

你可以查看他生成的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();

}

}

}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 衡山县| 汾西县| 南昌市| 镇平县| 潍坊市| 金湖县| 汝城县| 利津县| 岱山县| 内黄县| 兴宁市| 若尔盖县| 临漳县| 当涂县| 梓潼县| 罗田县| 雷山县| 庆城县| 武汉市| 安顺市| 苗栗县| 肇庆市| 泗洪县| 瑞丽市| 砚山县| 绩溪县| 玉山县| 博野县| 香格里拉县| 电白县| 西吉县| 吉木乃县| 东乌珠穆沁旗| 秦皇岛市| 和平区| 桑植县| 永登县| 通海县| 西藏| 天峨县| 马鞍山市|