2012-01-04 46 views
1

我使用MessageBox類在Asp.NET與C#中使用MessageBox類的,我有以下代碼:通過徵收使用System.Windows.Forms的 命名空間</p> <p>在Asp.Net

/* Method for displaying the Message Box */ 
public void MsgBox() 
{ 
    string message = "Do you want to modify the rate list?"; 
    string caption = ""; 
    MessageBoxButtons buttons = MessageBoxButtons.YesNoCancel; 
    DialogResult result; 
    result = MessageBox.Show(message, caption, buttons); 
    if (result == DialogResult.Yes) { 
     Response.Redirect("PaperRateList.aspx"); 
    } 
} 

/*Calling of the above method in the following event */ 
protected void Save_Click(object sender, EventArgs e) 
{ 
    CompanyMaster_Insert(); 
    RateList_Save(); 
    MsgBox(); /*method*/ 
} 

現在問題是消息框以最小化模式出現在窗體後面,並且可以在關閉消息之前關閉窗體。bos.I想要此窗體上的消息框,並且我想在關閉消息框後關閉窗體。

+0

當您在開發模式下運行您的網站時,使用winform messagebox可能會有效,但在您部署它時不會。消息框將顯示在服務器用戶和Web用戶都無法看到或訪問它的隱藏服務會話中。不要像這樣混合使用winforms和ASP.NET。 – 2012-01-04 07:55:34

回答

3

MessageBox在網絡環境中並不是最好的路徑,因爲它是實現Windows窗體功能的廉價方式。你有兩種方法可以做到這一點,服務器端(如果你需要處理一些數據)或客戶端(如果你有頁面中的所有數據,你可以使用JavaScript來處理它)。

對你格外例如,你可能有這樣一個提交按鈕:

<asp:Button id="btnSave" runat="server" 
      onclick="btnSave_Click" text="Save Form" /> 

嘗試添加此:

onclientclick="return confirm('Do you want to modify the rate list?');" 

所以它結束這樣的:

<asp:Button id="btnSave" runat="server" 
      onclick="btnSave_Click" text="Save Form" 
      onclientclick="return confirm('Do you want to modify the rate list?');" /> 

這隻需使用名爲confirm的JavaScript方法即可。

於好MessageBox的例子,以避免用戶不亂用的頁面,而該消息是可見的,這就是所謂的模態對話框模態窗口,試圖尋找它...

jQuery UI的有Modal element,您可以使用,如果你看中了阿賈克斯的東西,你在ASP.NET初學者,我強烈建議你嘗試ASP.NET Control Toolkit

+0

謝謝您的支持,如果我想通過點擊確定按鈕重定向到另一個頁面,我將如何做到這一點? – 2012-01-04 08:19:41

+0

爲什麼重定向?當用戶點擊'OK'時,'OnClick'事件中的該頁面上的方法被觸發,你可以在那裏做所有事情......如果你真的想把用戶發送到其他頁面,要麼你不明白ASP.NET應用程序/網站,你仍然混淆它與舊的經典ASP(女巫然後我建議你看看一些[ASP.NET WebForm視頻](http://www.asp.net/web-forms)*視頻在右欄*),或者你真的知道你在做什麼,你可以在該方法中使用'Response.Transfer()'。 – balexandre 2012-01-04 08:24:02

1

嘗試

WebMsgBox類表示ASP.NET應用程序的消息框。這個類有一個靜態方法Show,它用來顯示一個消息框。 Show方法接受一個字符串類型的參數,這是您要顯示的消息。

private void Page_Load(object sender, System.EventArgs e) 
{ 
    MessageBox.Show("Hello World!"); 
    MessageBox.Show("This is my second message."); 
    MessageBox.Show("Alerts couldnt be simpler."); 
} 
相關問題