Подтвердить что ты не робот

Как вызвать window.alert( "сообщение" ); от С#?

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

catch (ApplicationException ex)
{
    //want to call window.alert function here
}
4b9b3361

Ответ 2

Немного сложно дать окончательный ответ без дополнительной информации, но обычным способом является регистрация запуска script:

try
{
  ...
}
catch(ApplicationException ex){
  Page.ClientScript.RegisterStartupScript(this.GetType(),"ErrorAlert","alert('Some text here - maybe ex.Message');",true);
}

Ответ 3

если вы используете ajax на своей странице, для которой требуется script manager Page.ClientScript
не будет работать, Попробуйте это, и он выполнит работу:

ScriptManager.RegisterClientScriptBlock(this, GetType(),
            "alertMessage", @"alert('your Message ')", true);

Ответ 4

Вы можете использовать следующий метод расширения с любой веб-страницы или вложенного пользовательского элемента управления:

static class Extensions
{
    public static void ShowAlert(this Control control, string message)
    {
        if (!control.Page.ClientScript.IsClientScriptBlockRegistered("PopupScript"))
        {
            var script = String.Format("<script type='text/javascript' language='javascript'>alert('{0}')</script>", message);
            control.Page.ClientScript.RegisterClientScriptBlock(control.Page.GetType(), "PopupScript", script);
        }
    }
}

следующий путь:

class YourPage : Page
{
    private void YourMethod()
    {
        try
        {
            // do stuff
        }
        catch(Exception ex)
        {
            this.ShowAlert(ex.Message);
        }
    }
}

Ответ 5

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

Ответ 6

Вы также можете сделать это:

 catch (Exception ex)
    {

        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "showError",
           "alert('" + ex.Message + "');", true);

    }

это покажет сообщение exeption в поле предупреждения