如何在asp.net上显示MessageBox?

时间:2010-11-29 07:48:23

标签: c# asp.net

如果我需要在我的ASP.NET WebForm上显示MessageBox,该怎么做?

我尝试:Messagebox.show("dd");

但它不起作用。

9 个答案:

答案 0 :(得分:10)

ASP.NET中不存在MessageBox。如果您在浏览器中需要功能,例如显示消息框,则需要选择 javascript 。 ASP.NET为您提供了注入javascript的方法,当发送到浏览器的html被加载和显示时,javascript将被呈现和执行。例如,您可以在Page_Load中使用以下代码:

Type cstype = this.GetType();

// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;

// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, "PopupScript"))
{
    String cstext = "alert('Hello World');";
    cs.RegisterStartupScript(cstype, "PopupScript", cstext, true);
}

此示例的taken from MSDN

答案 1 :(得分:5)

有简洁明了的方法:

Response.Write("<script>alert('Your text');</script>");

答案 2 :(得分:4)

Messagebox仅适用于Windows。你必须使用Javascript

Alert('dd'); 

答案 3 :(得分:1)

其中一个选项是使用Javascript。

以下是您可以从中开始的快速参考。

Javascript alert messages

答案 4 :(得分:0)

消息框默认只适用于Windows窗体应用程序。如果要使用消息框资源,则必须使用 'using system.windows.forms'为Web表单模式启用消息框。

答案 5 :(得分:0)

Messagebox.show("dd");确实不是使用System.Web;

的一部分

大部分时间我都有同样的感受。如果您想这样做,请执行以下步骤。

  • 右键单击解决方案资源管理器中的项目
  • 转到添加引用,然后选择.NET选项卡

  • 然后选择,System.windows.forms(按's'快速查找)

你可以获得命名空间,现在你可以使用Messagebox.show("dd");

但我建议使用javascript警报。

答案 6 :(得分:0)

您可以简单地编写,但无论如何都必须使用JavaScript。

Page.ClientScript.RegisterStartupScript(Page.GetType(), "Message Box", "<script language = 'javascript'>alert('dd')</script>");

答案 7 :(得分:0)

我从出色的@KrisVanDerMast中获取了代码,并将其包装在一个静态方法中,该方法可以在同一页面上多次调用!

/// <summary>
/// Shows a basic MessageBox on the passed in page
/// </summary>
/// <param name="page">The Page object to show the message on</param>
/// <param name="message">The message to show</param>
/// <returns></returns>
public static ShowMessageBox(Page page, string message)
{
    Type cstype = page.GetType();

    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = page.ClientScript;

    // Find the first unregistered script number
    int ScriptNumber = 0;
    bool ScriptRegistered = false;
    do
    {
        ScriptNumber++;
        ScriptRegistered = cs.IsStartupScriptRegistered(cstype, "PopupScript" + ScriptNumber);
    } while (ScriptRegistered == true);

    //Execute the new script number that we found
    cs.RegisterStartupScript(cstype, "PopupScript" + ScriptNumber, "alert('" + message + "');", true);
}

答案 8 :(得分:-2)

如果需要,您可以使用MessageBox,但建议您使用alert(来自JavaScript)。

如果你想使用它,你应该写:

System.Windows.Forms.MessageBox.Show("Test");   

请注意,您必须指定命名空间。