如果我需要在我的ASP.NET WebForm上显示MessageBox,该怎么做?
我尝试:Messagebox.show("dd");
但它不起作用。
答案 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)
答案 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");
请注意,您必须指定命名空间。