如何调用window.alert(“message”);来自C#?

时间:2010-09-27 12:15:01

标签: c# asp.net

我基于某些条件有自己的异常,并且想要在此catch块中出现控件时发出警报

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

10 个答案:

答案 0 :(得分:27)

你的意思是,一个消息框?

MessageBox.Show("Error Message", "Error Title", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

此处提供更多信息:http://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox(v=VS.100).aspx

答案 1 :(得分:10)

在没有更多信息的情况下给出确定答案有点困难,但通常的方法是注册启动脚本:

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

答案 2 :(得分:6)

如果您在页面中使用需要脚本管理器Page.ClientScript的ajax 不管用, 试试这个,它会做的工作:

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

答案 3 :(得分:5)

您可以在任何网页或嵌套用户控件中使用下一个扩展方法:

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);
        }
    }
}

答案 4 :(得分:2)

MessageBox和其他人一样说,或RegisterClientScriptBlock如果你想要更随意的东西,但你的用例非常可疑。仅仅显示异常并不是您想要在生产代码中执行的操作 - 您不希望公开公开该详细信息,并且您确实希望通过私有的正确记录来记录它。

答案 5 :(得分:2)

你也可以这样做:

 catch (Exception ex)
    {

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

    }

这将在警告框中显示异常消息

答案 6 :(得分:1)

我不确定我是否理解,但我猜你是在试图从ASP.Net展示一个MessageBox?

如果是这样,此代码项目文章可能会有所帮助:Simple MessageBox functionality in ASP.NET

答案 7 :(得分:0)

简单地使用它在后面的代码中显示警报消息框。

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "alert('Record Saved Sucessfully');", true);

答案 8 :(得分:0)

您可以尝试以下方法:

希望它对您有用。

`private void validateUserEntry()
{
    // Checks the value of the text.
    if(serverName.Text.Length == 0)
    {
    // Initializes the variables to pass to the MessageBox.Show method.
    string message = "You did not enter a server name. Cancel this operation?";
    string caption = "Error Detected in Input";
    MessageBoxButtons buttons = MessageBoxButtons.YesNo;
    DialogResult result;

    // Displays the MessageBox.
    result = MessageBox.Show(message, caption, buttons);
    if (result == System.Windows.Forms.DialogResult.Yes)
    {
     // Closes the parent form.
        this.Close();
    }
    }
}` 

答案 9 :(得分:0)

您应该尝试这个。

ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('Sakla Test');", true);