您的位置:首页 > 编程语言 > ASP

ASP.NET弹出一个对话框

2008-08-21 14:59 357 查看
我们[/b]在ASP.NET程序的开发过程中,常常需要向用户给出提示信息[/b],比如是否“操作成功[/b]”,“确定”还是“取消”操作。

(1) 点击页面上的按钮[/b],弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
举例如下:
public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");

(2) 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。
举例如下:
Response.Write("<script[/b]>alert('删除成功!')</script>");

(3)允许 ASP.NET 服务器[/b]控件在 Page 中发出客户端脚本[/b]块:
public virtual void RegisterStartupScript(string key,string script);

举例如下:
if(!this.IsStartupScriptRegistered("hello"))
this.RegisterStartupScript("hello","<script>alert('你好!')</script>");

############################################
版权声明:
文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明
http://www.opent.cn 作者:浪淘沙
############################################/


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

namespace EC
{
/// <summary>
/// 信息输出通用方法
/// </summary>
public class MessageObject
{

/// <summary>
/// 一般输出
/// </summary>
/// <param name="str"></param>
public static void Write(string str)
{
System.Web.HttpContext.Current.Response.Write(str);
}
/// <summary>
/// 显示一段自定义的输出代码
/// </summary>
/// <param name="MyPage"></param>
/// <param name="strCode"></param>
public static void ShowJS(System.Web.UI.Page MyPage, string strCode)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append(strCode.Trim());
sb.Append("</script>");
MyPage.Response.Write(sb.ToString());
}
/// <summary>
/// 页面重载
/// </summary>
public static void Location()
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append("window.location.href=window.location.href;");
sb.Append("</script>");
System.Web.HttpContext.Current.Response.Write(sb.ToString());

}
/// <summary>
/// 显示一个弹出窗口
/// </summary>
/// <param name="str"></param>
public static void Show(string str)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append("alert(/"" + str.Trim() + "/"); /n");
sb.Append("</script>");

System.Web.HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 显示一个弹出窗口,并关闭当前页
/// </summary>
/// <param name="str"></param>
public static void ShowClose(string str)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language=/"javascript/">/n");
sb.Append("alert(/"" + str.Trim() + "/"); /n");
sb.Append("window.close();/n");
sb.Append("</script>/n");
System.Web.HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 显示一个弹出窗口,并转向当前页(刷新)
/// </summary>
/// <param name="str"></param>
public static void ShowLocation(string str)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append("alert(/"" + str.Trim() + "/"); /n");
sb.Append("window.location.href=window.location.href;/n");
sb.Append("</script>");

System.Web.HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 显示一个弹出窗口,并转向目标页(导航)
/// </summary>
/// <param name="str"></param>
/// <param name="url"></param>
public static void ShowRedirect(string str, string url)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append("alert(/"" + str.Trim() + "/"); /n");
sb.Append("window.location.href=/"" + url.Trim() + "/";/n");
sb.Append("</script>");

System.Web.HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 显示一个弹出窗口,并转向上一页
/// </summary>
/// <param name="str"></param>
public static void ShowPre(string str)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append("alert(/"" + str.Trim() + "/"); /n");
sb.Append("var p=document.referrer; /n");
sb.Append("window.location.href=p;/n");
sb.Append("</script>");

System.Web.HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 重定向
/// </summary>
/// <param name="url"></param>
public static void RedirectPage(string url)
{
string path = "http://" + System.Web.HttpContext.Current.Request.Url.Host + url;
StringBuilder sb = new StringBuilder();
sb.Append("<script language=/"javascript/"> /n");
sb.Append(string.Format("window.location.href='{0}';", @path));
sb.Append("</script>");

System.Web.HttpContext.Current.Response.Write(sb.ToString());
}

}
}

实践

我们也可以使用写一个类Message(名字随便取)的方法,内容如下:

using System;

namespace Common
{
/// <summary>
/// Message 的摘要说明。
/// </summary>
public class Message
{
public Message()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

//返回一个弹出窗口
public static string Show(string strMsg)
{

//这里0就指strMsg这东西,1就是指/这东西.
return String.Format("<script language={1}javascript{1}>alert({1}{0}{1});</script>",strMsg,"/"");
}
}
}

然后在要弹出对话框的页面上,添加一个label控件,假设命名为lblMsg,这时,后台写代码:

lblMsg.Text = Message.Show("这里写要弹出来的内容");

这样就可以实现弹出提示的效果了.注意,我的类是写在通用层中,所以还要先引用通用层:

using Common;

这个方法其实是紫色物语提供的,当时我写项目遇到这个问题,他告诉我这种方法,在此感谢他的帮助.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: