ASP.NET学习2.弹出对话框的方法

【转自百度空间http://hi.baidu.com/liuqiyuan/item/d9e54390c5bb38f0291647df

ASP.net弹出消息对话框的方法!

【原理】

在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的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的响应事件)

privatevoidButton1_Click(objectsender, 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>"); 

 

   
    (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>"); 

posted @ 2013-06-07 16:54  spuerdaddy  阅读(240)  评论(0编辑  收藏  举报