令你心動的Asp.net 開發中的MessageBox控制項
來源:互聯網
上載者:User
asp.net|控制項 令你心動的Asp.net 開發中的MessageBox控制項
相信使用ASP.NET做Web開發的程式員們,都會懷念使用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>");
}
}
}
}
//********************************************