окно сообщения не работает - PullRequest
0 голосов
/ 27 ноября 2009

У меня есть исключение, когда мне нужно отправить сообщение

мой почтовый ящик работает на локальном хосте, но не на сервере

catch (Exception)
        {

            MessageBox.Show("Machine Cannot Be Deleted", "Delete from other Places first", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

как я могу сделать эту работу ... спасибо

есть ли другой способ сделать это .... пожалуйста, помогите .. я знаю, что это небольшая проблема, но это нужно сделать ...

Ответы [ 2 ]

8 голосов
/ 27 ноября 2009

Нельзя использовать Windows MessageBox в ASP.NET, так как он работает на стороне сервера, что делает его бесполезным для клиента.

Обдумайте использование предупреждения Javascript или какого-либо другого типа ошибки проверки. (Возможно, у вас есть скрытый элемент управления с вашим сообщением об ошибке и переключите его Видимость в блоке catch или используйте Response.Write для предупреждения Javascript).

Как то так (не проверено):

Response.Write("<script language='javascript'>window.alert('Machine Cannot Be Deleted, delete from other places first.');</script>");
0 голосов
/ 29 ноября 2009

Вы должны использовать пространство имен System.Windows.Forms, а затем вы можете использовать свойство окна сообщения

, например

   using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

**using System.Windows.Forms;**

    public partial class _Default : System.Web.UI.Page 
   {
      protected void Page_Load(object sender, EventArgs e)
       {
          MessageBox.Show("Machine Cannot Be Deleted", "Delete from other Places                   
          first", MessageBoxButtons.OK, MessageBoxIcon.Error);

       }    
    }

Среди других альтернатив (кроме предложенного мистером Брэндоном)

а) Используйте JavaScript

например.

Response.Write("<script>alert('Machine Cannot Be Deleted')</script>");

б) Создайте пользовательскую функцию, которая будет работать как окно сообщения

, например

protected void Page_Load(object sender, EventArgs e)
    {
        MyCustomMessageBox("Machine Cannot Be Deleted");
    }

    private void MyCustomMessageBox(string msg)
    {
        Label lbl = new Label();
        lbl.Text = "<script language='javascript'>" + Environment.NewLine + "window.alert('" + msg + "')</script>";
        Page.Controls.Add(lbl);
    }

Надеюсь, это поможет

...