【原理】 在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的value是否为空,若不为空则弹出对话框显示信息,否则什么也不做。后台代码在需要的时候修改隐藏控件的value,这样当页面传到用户那时,最后的脚本代码将执行并弹出对话框。 【注意事项】1. 隐藏控件必须是HTML控件,否则javascript无法找到。2. 后台代码要修改隐藏控件的值,隐藏控件自然得加上runat=”server” 标记。3. 在弹出对话框后,记得把隐藏控件的value置空,否则刷新的时候又会弹出来了。4. 脚本代码一定得放在隐藏控件的后面,否则同样找不到。 【实现】页面代码(只列出body) < body MS_POSITIONING ="GridLayout" > < form id ="Form1" method ="post" runat ="server" > < asp:TextBox id ="manuInput" runat ="server" ></ asp:TextBox > < asp:Button id ="Button1" runat ="server" Text ="对话框" ></ asp:Button > < INPUT id ="passTxt" type ="hidden" runat ="server" > <! —隐藏控件à </form > < script language =javascript > ... if( document.all("passTxt").value!="" ) ...{ alert( document.all("passTxt").value ); document.all("passTxt").value=""; //这句可不能掉哟! } </ script > </ body > 后台代码(只列出Button1的响应事件)private void Button1_Click(object sender, System.EventArgs e) { passTxt.Value = manuInput.Text; }【效果】 【补充说明】其实这个方法很简单,不过却很有效,你可以写一个函数showDialog(string str),然后在后台代码中任何需要的地方调用以弹出对话框。此外,你还可以把alert换成showModelDialog(),以弹出功能更丰富,界面更漂亮的窗口。最后,必须得说明的是,这个方法的思想可以用来在脚本和后台代码之间传递信息,我在我的web application中就是这样做的,效果很好。我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。 (1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成: 例: public System.Web.UI.WebControls.Button btnDelRow; btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');"); (2)点击页面上的链接,弹出一个对话框提示是“确定”还是“取消”操作,可在Page_Load()事件中,给希望给出确认提示的按钮增加属性: 例: Link.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');"); (3) 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。 例: Response.Write(" < script > ... alert('删除成功!') </ script > "); (4)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块: public virtual void RegisterStartupScript(string key,string script); 例: if(!this.IsStartupScriptRegistered("hello")) this.RegisterStartupScript("hello"," < script > ... alert('你好!') </ script > "); 弹出“确定”对话框:Response.Write(" < Script Language =JavaScript > ... alert('消息!'); </ Script > ");弹出“确定”对话框,点击后跳转页面:Response.Write(" < Script Language =JavaScript > ... alert('消息!');window.navigate('../index.aspx'); </ Script > ");弹出“确定”和“取消”对话框,点击“确定”后执行相关操作:方法一:在Page_Load事件中,写入Button1.Attributes["onClick"]="javascript:return confirm('你确认要删除吗?');" ,然后在Button1_OnClick事件中写入您的执行代码。方法二:直接在Button1_OnClik事件中写入Response.Write(" < Script Language =JavaScript > ... if(confirm('你确认要删除吗?'))...{window.navigate('doDelete.aspx');} </ Script > "); 方法二需要跳转到另一个页面执行操作,比方法一稍繁琐些,不过怎样用还看具体情况。收集到的。用具类using System;/// < summary > /// Alert 的摘要说明。/// </ summary > public class Alert{ public static void ShowAlert(string message) { if(message==null) message = ""; //ljj //2005-12-9 message=message.Replace(" ","""); System.Web.HttpContext.Current.Response.Write(" < script > ... alert('"+message+"'); </ script > "); } public static void ShowAlert(string message,string url) { if(message==null) message = ""; message = message.Replace(" ", """); System.Web.HttpContext.Current.Response.Write(" < script > ... alert(""+message+"");location='"+url+"';</script>"); } public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl) ...{ if (message == null) message = ""; message = message.Replace(" ", """); System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>"); } public static void ShowConfirmAlert(string message, string confirmurl) ...{ if (message == null) message = ""; message = message.Replace(" ", """); System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>"); } public static void Redirect(string url) ...{// // if(url==null||url.Length<1) ShowAlert("重定向地址不能为空"); else System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>"); } public static void SSOLoginRedirect(string url) ...{ Redirect(url);// if(url==null||url.Length<1)// ShowAlert("重定向地址不能为空");// else// System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window) window.parent.location=window.location; location='"+url+"';</script>"); } public static void ShowAlert(string message,string url,bool IsRedirect) ...{ if(message==null) message = ""; if(IsRedirect) ShowAlert(message,url); else ShowAlert(message); }}