Как отобразить Windows.Form.MessageBox в веб-приложении ASP.NET? - PullRequest
1 голос
/ 24 января 2011

Я хочу отобразить мои сообщения об ошибках валидации в MessageBox.У меня есть четыре элемента управления TextBox и одна кнопка.Когда я нажимаю кнопку управления, текстовые поля без текста, который будет отображаться в окне сообщений.Я почти сделал это, но проблема в том, что когда я нажимаю кнопку, MessageBox открывается как свернутое окно.Так что конечному пользователю сложно это понять.Я хочу отобразить MessageBox для пользователя при нажатии кнопки.

Вот мой код, в событии нажатия кнопки

ErrorMsg="";

if (TextBox1.Text == "")
{
    ErrorMsg += "Name is required!";
    ErrorMsg += "\n";
}
if (TextBox2.Text == "")
{
    ErrorMsg += "Address is required!";
    ErrorMsg += "\n";
}
if (TextBox3.Text == "")
{
    ErrorMsg += "Phone No. is required!";
    ErrorMsg += "\n";
}
if (TextBox4.Text == "")
{
    ErrorMsg += "City is required!";
    ErrorMsg += "\n";
}
if (ErrorMsg.Length == 0)
{
     //Some Code
}
else
{
    MessageBox.Show(ErrorMsg, "Existing Address", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Заранее спасибо ...

Ответы [ 4 ]

5 голосов
/ 24 января 2011

Нельзя использовать Windows MessageBox в приложении ASP.NET.Это просто не имеет смысла.ASP.NET выкладывает HTML / javascript / CSS, поэтому вы должны использовать это для информирования пользователя о том, что что-то пошло не так.Так, например, в приложении ASP.NET вы можете использовать метод RegisterStartupScript для вставки JavaScript-кода в страницу, которая будет выполняться при загрузке страницы и использовать функцию alert:

ScriptManager.RegisterStartupScript(this, GetType(), "error", "alert('oops');", true);

Другие более традиционные методы для проверки в приложении ASP.NET включают использование элементов проверки .

.
0 голосов
/ 03 ноября 2017

мы можем использовать окно сообщений даже в веб-приложении ASP.Net Необходимо выполнить шаги ниже

  1. Откройте обозреватель решений в Visual Studio и щелкните правой кнопкой мыши ссылку> Добавить ссылку
  2. Поиск сборок system.windows и system .windows.form и добавление их
  3. затем в форме .aspx, где вы хотите использовать окно сообщения, добавьте сборку, используя system.windows и system.windows.form тогда вы можете использовать все функциональные возможности, такие как Windows-приложение на вашей веб-странице
0 голосов
/ 24 января 2011

Почему бы вам не использовать Ajax control toolkit ?

Затем можно настроить содержимое всплывающего окна, и я считаю, что оно менее навязчиво, чем всплывающее сообщение в стиле Windows.

0 голосов
/ 24 января 2011

Создайте функцию, например

private void MessageBoxShow(Page page, string message)
{
    Literal ltr = new Literal();
    ltr.Text = @"<script type='text/javascript'> alert('" + message + "') </script>";
    page.Controls.Add(ltr);
}

, и вызовите ее с любой страницы .aspx, например,

MessageBoxShow(this,message);

. Важно то, что если вы используете UserControl, вам нужно изменить функциюСтраница параметров для UserControl.

...