如何在ASP.NET Web应用程序中显示Windows.Form.MessageBox?

the*_*van 1 c# asp.net messagebox

我想在MessageBox中显示我的验证错误消息.我有四个TextBoxes和一个Button控件.当我单击Button Control时,没有文本的TextBox会在MessageBox中显示.我差不多完成了这个,但问题是当我单击Button时,MessageBox作为最小化窗口打开.因此最终用户很难意识到.我想在按钮点击时向用户显示MessageBox.

这是我的代码,在Button Click事件中

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);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢...

Dar*_*rov 5

您不能在ASP.NET应用程序中使用Windows MessageBox.它没有意义.ASP.NET吐出HTML/javascript/CSS,这就是你应该用来告知用户出错的地方.因此,例如在ASP.NET应用程序中,您可以使用该RegisterStartupScript方法将javascript注入页面,该页面将在页面加载时执行并使用该alert函数:

ScriptManager.RegisterStartupScript(this, GetType(), "error", "alert('oops');", true);
Run Code Online (Sandbox Code Playgroud)

在ASP.NET应用程序中执行验证的其他更常规技术涉及使用验证控件.

  • 我怀疑用户想要的是警报而不是MessageBox,但是用户不知道差异,因为从用户体验的角度来看,他们并没有那么不同 (2认同)