洪武之治时间:21.5 弹出无刷新环境中的对话框

来源:百度文库 编辑:偶看新闻 时间:2024/07/03 23:11:55
21.5  弹出无刷新环境中的对话框
在普通的ASP.NET环境中,要在Web窗体页上弹出一个对话框,可以使用如下实例代码。
Response.Write("");
然而,在ASP.NET AJAX环境中,却不能使用上述代码中的方法在Web窗体页上弹出一个对话框,否则Web窗体页会弹出错误信息提示对话框。
实现目标
本实例介绍使用ScriptManager类的静态方法RegisterClientScriptBlock(),在Web窗体页上弹出一个对话框的方法。
技术实现
1.创建AjaxDialog.aspx页面
在Sample_21应用程序中创建AjaxDialog.aspx页面,并在该页面上创建一个ScriptManager控件、一个UpdatePanel控件和一个Button控件。这些控件的ID属性的值分别为sm、up和btnCommit。其中,sm和up控件共同提供无刷新的Web环境。单击btnCommit控件可以弹出ASP.NET AJAX Web环境中的对话框。AjaxDialog.aspx页面的部分HTML设计代码如下:
<%@ Page Language="C#" AutoEventWireup="true"
StylesheetTheme="Aspnet3DBWeb"
CodeFile="UpdateData.aspx.cs" Inherits="UpdateData" %><%@ Page Language="C#" AutoEventWireup="true"
StylesheetTheme="Aspnet3DBWeb"
CodeFile="AjaxDialog.aspx.cs" Inherits="
AjaxDialog" %>
弹出无刷新环境<br>中的对话框


onclick="btnCommit_Click" />

2.AjaxDialog.aspx页面事件设计
单击AjaxDialog.aspx页面中的【弹出AJAX Web环境中的对话框】按钮(btnCommit控件)触发其Click事件:btnCommit_Click(object sender,System.EventArgs e)。该事件实现弹出ASP.NET AJAX Web环境中的对话框的功能,它的程序代码如下:
<%@ Page Language="C#" AutoEventWireup="true"
StylesheetTheme="Aspnet3DBWeb"
CodeFile="AjaxWeb.aspx.cs" Inherits="AjaxWeb" %>protected void btnCommit_Click(object sender,EventArgs e)
{   ///获取弹出对话框的按钮
Button button = (Button)sender;
///注册对话框的脚本
ScriptManager.RegisterClientScriptBlock(
button,
button.GetType(),
button.UniqueID,
"alert('这是AJAX Web环境中的对话框。');",
true);
}
}
把AjaxDialog.aspx页面设置为Sample_21应用程序的起始页面,并运行该应用程序。AjaxDialog.aspx页面的初始界面如图21-10所示。单击【弹出AJAX Web环境中的对话框】按钮(btnCommit控件)可以弹出ASP.NET AJAX Web环境中的对话框,如图21-11所示。
   
图21-10  AjaxDialog.aspx页面的初始界面
 
图21-11  ASP.NET AJAX Web环境
中的对话框