令你心動的Asp.net 開發中的MessageBox控件
2024-07-10 12:56:31
供稿:網友
令你心動的asp.net 開發中的messagebox控件
相信使用asp.net做的程序員們,都會懷念使用messagebox.show( “” )的信息提示方式吧。只可惜在aspx中并不支持此類功能函數,至多也就是在腳本中使用alert( “ ” )來達到目的。要是想在服務器端的代碼中來控制客戶端信息提示窗體的顯示,就不能直接進行控制了。
以下就是我所設計開發的一個用于在服務器端來控制客戶端信息提示窗體顯示的web自定義控件,很好用哦!
它的操作非常簡單,代碼也很少,相信您對它的使用會感到滿意的!
您只需在服務器端的代碼中對該控件的text屬性進行設置,就可以在客戶端看到您所需要信息提示窗體,更為理想的是該text屬性為無狀態屬性,也就是說在下一次的回發過程中無需再對它進行操作就能自動實現隱藏。
簡單地說,您只需要在要求顯示的時候對text屬性進行賦值就可達到目的,不對它進行賦值就能實現自動隱藏。
而且還有一點您應該注意的是該控件在aspx頁面中的位置,一般情況下建議置于頁面未尾位置,這樣就可以在所有內容都顯示出來以后才跳出信息提示對話框,否則置于該控件后面的其它頁面內容都將被暫時隱藏。
以下為該控件的源代碼列表:
//********************************************
using system;
using system.web.ui;
using system.web.ui.webcontrols;
using system.componentmodel;
namespace basicwebcontrol.messagebox
{
/// <summary>
/// alertbox 的摘要說明。
/// </summary>
[defaultproperty("text"), toolboxdata("<{0}:alertbox runat=server></{0}:alertbox>")]
public class alertbox : system.web.ui.control
{
private string text = string.empty ;
/// <summary>
/// 顯示的內容,注意不能包含單、雙引號
/// </summary>
[bindable(true),category("appearance"),defaultvalue("")]
public string text
{
get
{
return text;
}
set
{
text = value;
}
}
/// <summary>
///
/// </summary>
public alertbox()
{
}
/// <summary>
/// 將此控件呈現給指定的輸出參數。
/// </summary>
/// <param name="output"> 要寫出到的 html 編寫器 </param>
protected override void render(htmltextwriter output)
{
if( text != string.empty )
{
output.write( "<script language='javascript'>alert('" );
output.write(text);
output.write("');</script>");
}
}
}
}
//********************************************