在Asp.net 2.0 開發過程中,常會需要用到彈出對話框提示,我做了簡單的封裝,使用方便,貼出來。
public class Jscript
{
private static string s1 = "<script language='JavaScript'>";
private static string s2 = "</script>";
private static string Quote(string str)
{
if (string.IsNullOrEmpty(str))
{
return str;
}
else
{
return str.Replace("'", "\\'");
}
}
private static void Write(string str)
{
HttpContext.Current.Response.Write(str);
}
/// <summary>
/// 提示消息
/// </summary>
/// <param name="strMsg"></param>
public static void alert(string strMsg)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');", Quote(strMsg));
sb.Append(s2);
Write(sb.ToString());
}
/// <summary>
/// 提示消息並返回
/// </summary>
/// <param name="strMsg"></param>
public static void alertAndBack(string strMsg)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');history.go(-1)", Quote(strMsg));
sb.Append(s2);
Write(sb.ToString());
}
/// <summary>
/// 提示消息並跳轉
/// </summary>
/// <param name="strMsg"></param>
public static void AlertAndGoto(string strMsg, string strUrl)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');location.href='{1}';", Quote(strMsg), strUrl);
sb.Append(s2);
Write(sb.ToString());
}
/// <summary>
/// 提示消息並關閉(刷新父窗體)
/// </summary>
/// <param name="strMsg"></param>
public static void alertAndClose(string strMsg)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');window.opener.location.reload();window.close();", Quote(strMsg));
sb.Append(s2);
Write(sb.ToString());
}
/// <summary>
/// 提示消息並關閉
/// </summary>
/// <param name="strMsg"></param>
public static void alertAndClosePage(string strMsg)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');window.close();", Quote(strMsg));
sb.Append(s2);
Write(sb.ToString());
}
/// <summary>
/// 提示消息並打開新的
/// </summary>
/// <param name="strMsg"></param>
public static void alertAndOpen(string strMsg, string strUrl)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');window.open('{1}');window.close();", Quote(strMsg), Quote(strUrl));
sb.Append(s2);
Write(sb.ToString());
}
// <summary>
/// 提示消息並跳轉,關閉自窗體
/// </summary>
/// <param name="strMsg"></param>
public static void AlertAndGotoAndClose(string strMsg, string strUrl)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.AppendFormat("alert('{0}');window.parent.opener.location.href='{1}';window.close();", Quote(strMsg), strUrl);
sb.Append(s2);
Write(sb.ToString());
}
}