通过服务器代码启动模式弹出窗口 (C#)
06/02/2008
本文内容
AJAX 控件工具包中的 ModalPopup 控件提供了使用客户端方法创建模式弹出窗口的简单方法。 但是,某些情况要求在服务器端触发模式弹出窗口的打开。
概述
AJAX 控件工具包中的 ModalPopup 控件提供了使用客户端方法创建模式弹出窗口的简单方法。 但是,某些情况要求在服务器端触发模式弹出窗口的打开。
步骤
首先,需要 ASP.NET 按钮 web 控件来演示 ModalPopup 控件的工作方式。 将 元素:
然后,需要要创建的弹出窗口的标记。 将其定义为 控件并确保它包含一个按钮控件。 ModalPopup 控件提供了使此类按钮关闭弹出窗口的功能;否则,不能轻松地使其消失。
ASP.NET AJAX is a free framework for quickly creating a new generation of more
efficient, more interactive and highly-personalized Web experiences that work
across all the most popular browsers.
接下来,将 ModalPopup 控件从 ASP.NET AJAX 工具包添加到页面。 设置用于加载控件的按钮、使其消失的按钮以及实际弹出窗口的 ID 的属性。
PopupControlID="ModalPanel" OkControlID="OKButton" />
与所有基于 ASP.NET AJAX 的网页一样;脚本管理器是为不同的目标浏览器加载必要的 JavaScript 库所必需的:
在浏览器中运行该示例。 单击该按钮时,将显示模式弹出窗口。 为了使用服务器端代码实现相同的效果,需要一个新的按钮:
OnClick="ServerButton_Click" />
如您所见,单击该按钮会生成回发,并在服务器上执行 ServerButton_Click() 方法。 在此方法中,称为 launchModal() 的 JavaScript 函数的执行方式是精确的,加载页面后将执行 JavaScript 函数:
protected void ServerButton_Click(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(this.GetType(), "key", "launchModal();", true);
}
launchModal() 的作业是显示 ModalPopup。 完成 HTML 页面加载后,将执行 launchModal() 函数。 但当时,ASP.NET AJAX framework 尚未完全加载。 因此,launchModal() 函数只是设置 ModalPopup 控件以后必须显示的变量:
var launch = false;
function launchModal()
{
launch = true;
}
pageLoad() JavaScript 函数是一种特殊函数,可在完全加载 ASP.NET AJAX 后执行。 因此,我们将代码添加到此函数以显示 ModalPopup 控件,但前提是在之前调用了 launchModal():
function pageLoad()
{
if (launch)
{
$find("mpe").show();
}
}
$find() 函数正在查找页上的命名元素,并需要服务器端 ID 作为参数。 因此,$find("mpe") 返回 ModalPopup 控件的客户端表示形式;它的 show() 方法允许弹出窗口出现。
单击任一按钮时,将显示模式弹出窗口(单击以查看完全大小的图像)