今天在項目中要用到簡單的MessageBox的使用。在Ext.net中沒有Winform那么簡單,直接寫MessageBox.show()的方法。於是就去examples.ext.net的例子網站找,想找到個實際能用的。 地址:http://examples.ext.net/#/MessageBox/Basic/ButtonsConfig/
實例中,使用的方法貌似挺復雜的。
前台.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>
效果圖:
點擊“Yes Please”
點擊“No Thanks”
分別寫兩個函數,判斷執行那個。每個函數都要在前面標記【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();
}
應大家要求截上效果圖:
點擊“是”
大家可以借鑒,歡迎大家一起交流。