代码改变世界

Asp.net中弹出提示对话框概述、

2010-03-15 14:19  北冥有魚,其名為坤、  阅读(901)  评论(0编辑  收藏  举报

我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。
在不同的情况用好不同的方法,当然是作为一个程序员的职能范围.下面记录了几种弹出提示窗口的方法,可以根据情况酌情使
用。

(1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
举例如下:

public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add(
"onclick""return confirm('确定要删吗?');");

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

 


(3)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
    public virtual void RegisterStartupScript(string key,string script);
举例如下:
if(!this.IsStartupScriptRegistered("hello"))
        
this.RegisterStartupScript("hello","<script>alert('你好!')</script>"); 

 


(4)在后台给页面注册一个弹出提示的控件:

Literal li = new Literal();
li.Text 
= "<script>alert('上傳成功')</script>";
this.Page.Controls.Add(li);

 


(5)那如果在updatepanel里面有什么方法弹呢?这个就是个比较敏感的问题了,因为在updatepanel里面,以上的几种方法

都没有效果,不过没有关系,这里介绍一种比较好的方法:
    updatepanel中有个scriptmanager,这是个全局脚本控制器,既然是无刷新那你用以上方法去弹出提示肯定也因为页面
无刷新而没有反应的,想要在updatepanel里面弹出,那肯定要利用这个脚本控制器了.

ScriptManager.RegisterStartupScript(thisthis.GetType(), """alert('更新數據時出現操作錯誤,請稍后重試')"true);

 

简单吧,以上几种弹出提示,都可以用来调页面的javascript函数,以上面这个方法为例.

ScriptManager.RegisterStartupScript(thisthis.GetType(), """vilidate();"true);

 

这就是在无刷新的情况下,调用了页面上的javascript函数vilidate().