您的位置:首页 > Web前端 > JavaScript

Ext.Net\ExtJs弹出消息Alert、MessageBox、Confirm使用详解

2013-05-16 09:30 615 查看
一、Alert用法

1.在前台JS我们常常用到alert()弹出提示信息。

2.同样ext.net中也提供了X.Msg.Alert()用法如下:

Ext.Net.X.Msg.Alert("提示信息","提示内容!").Show();

他们有着本质的区别是:

1.js自带的alert在调用时下面的代码无法执行。

2.ext带的Alert在调用时继续执行Alert下面的代码。这个特性最早不知道的时候还真没少折腾.

3.ext的Alert也可以实现不执行下面代码,确定后执行。用的是回调函数。实现方法如下:

Ext.Net.X.Msg.Alert("提示信息","提示内容!","#{DirectMethods}.BackMethod();Show();//BackMethod是方法名称

方法如下:

[DirectMethod()]
public void BackMethod()

{

X.Msg.Alert("我是回调的哦!").Show();

}

X.Msg另一种用法cs代码:MessageBoxConfig配置显示按钮

X.Msg.Show(new MessageBoxConfig
{
Title = title,
Message = message,
Buttons = MessageBox.Button.OK,//这里的按钮有很多种
Icon = MessageBox.Icon.INFO
});

二、下面是Confirm的用法:

实例,下面是官方例子:
前台.aspx文件中
复制代码 代码如下:
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
[DirectMethod]
public void DoConfirm()
{
X.Msg.Confirm("Message", "Confirm?", new MessageBoxButtonsConfig
{
Yes = new MessageBoxButtonConfig
{
Handler = "CompanyX.DoYes()",
Text = "Yes Please"
},
No = new MessageBoxButtonConfig
{
Handler = "CompanyX.DoNo()",
Text = "No Thanks"
}
}).Show();
}
[DirectMethod]
public void DoYes()
{
this.Label1.Text = "YES";
}
[DirectMethod]
public void DoNo()
{
this.Label1.Text = "NO";
}
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Confirm MessageBox with ButtonsConfig - Ext.NET Examples</title>
<link href="/resources/css/examples.css" rel="stylesheet" type="text/css" />
</head>
<body>
<ext:ResourceManager runat="server" DirectMethodNamespace="CompanyX" />
<form runat="server">
<p>
<ext:Button runat="server" Text="Confirm" Icon="Error">
<Listeners>
<Click Handler="CompanyX.DoConfirm()" />
</Listeners>
</ext:Button>
</p>
</form>
</body>
</html>

分别写两个函数,判断执行那个。每个函数都要在前面标记【DirectMethod】。感觉好复杂。后来找了下按钮的事件,发现了个简单的方法。
.aspx文件body中的代码如下:
复制代码 代码如下:
<body>
<ext:ResourceManager runat="server" DirectMethodNamespace="CompanyX" />
<form runat="server">
<p>
<ext:Button runat="server" Text="Confirm" Icon="Error">
<DirectEvents>
<Click OnEvent="Confirm">
<Confirmation ConfirmRequest="true" Title="提示" Message="您确定要删除么?" />
</Click>
</DirectEvents>
</ext:Button>
</p>
</form>
</body>

其实,可以直接在按钮中写,作用是在执行后台Confirm事件的时候,先弹出MessageBox框,上面两个按钮,确定和取消。如果选确定,才执行后台事件,否则就不会跳转到后台。这个方法很好的解决了简单的提示框功能。
后台的Confirm事件代码:
复制代码 代码如下:
protected void Confirm(object sender, DirectEventArgs e)
{
X.Msg.Alert("点击提示", "您点击了确定,执行的是后台事件!").Show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: