如何创建弹出消息框以显示.net c#web应用程序中的错误消息

如何创建弹出消息框以显示.net c#web应用程序中的错误消息,c#,.net,web-applications,C#,.net,Web Applications,有人知道如何在服务器端创建弹出消息框,以便在保存过程失败时在弹出消息框中显示错误消息吗 ClientScript.RegisterStartupScript( this.GetType(), "myalert", "alert('" + errorText + "');", true); 例如: protected void btnSave_Click(object sender, EventArgs e) { try {

有人知道如何在服务器端创建弹出消息框,以便在保存过程失败时在弹出消息框中显示错误消息吗

ClientScript.RegisterStartupScript(
    this.GetType(), "myalert", "alert('" + errorText + "');", true);
例如:

   protected void btnSave_Click(object sender, EventArgs e)
   {
       try
       {
           using (TransactionScope scope = new TransactionScope())
           {
               //save process

               scope.Complete();
               Response.Redirect(url);
           }
       }
       catch (TransactionAbortedException ex)
       {
          //pop-up message box to show error message
       }
       catch (ApplicationException ex)
       {
          //pop-up message box to show error message
       }
   }
我如何才能在catch中创建一个弹出消息框,以便在保存过程失败时向用户弹出错误消息框

ClientScript.RegisterStartupScript(
    this.GetType(), "myalert", "alert('" + errorText + "');", true);

Response.Write(
@“警报(“+errorText+”)”;

尝试使用
页面.RegisterStartupScript
ClientScript.RegisterStartupScript
方法。

以下是一种方法:

/// ---- ShowAlert --------------------------------
///     
/// <summary>
/// popup a message box at the client    
/// </summary>
/// <param name="page">A Page Object</param>
/// <param name="message">The Message to show</param>

public static void ShowAlert(Page page, String message)
{
    String Output;
    Output = String.Format("alert('{0}');",message);
    page.ClientScript.RegisterStartupScript(page.GetType(), "Key", Output, true);
}
//--ShowAlert--------------------------------
///     
/// 
///在客户端弹出一个消息框
/// 
///页面对象
///要显示的消息
公共静态void ShowAlert(页面,字符串消息)
{
字符串输出;
Output=String.Format(“警报({0}”);”,消息);
page.ClientScript.RegisterStartupScript(page.GetType(),“Key”,输出,true);
}
虽然上面提到的alert()脚本还可以,但它们看起来相当业余。我建议有两种选择

  • 页面上有一个标签,通常用红色和粗体字体隐藏。然后只需使其可见,并将文本设置为错误

  • 如果您想要一个对话框行为,请使用每个人向您展示的内容,但不要弹出警报,而是从jQuery UI中选择一些好的内容,其中有一个好的错误图标,甚至还有一个帮助链接或对话框中的其他内容。下面是一个例子:


  • 当然,如果你想让你的应用看起来更可靠,不要向他们显示任何错误。:)

    你想让弹出窗口出现在服务器上还是客户端上?@Kiranu-请告诉我这是个骗人的问题-你无法在服务器上弹出消息框@斯拉格斯特-我知道。。。但不清楚他想要的是可能的(客户端中的弹出窗口)还是不可能的(由windows服务创建的表单)@Alex Aza;我应用了您在try{}catch()之前给出的代码。。似乎没有弹出任何消息框-up@JinYong-奇怪,我在.NET2、3.5和4上测试了这个-对我来说很有效。也许浏览器关闭了javascript。试着打开它。@Jin-我刚刚意识到,你不能像这样测试它,你不能在Try-catch之前应用它,因为你重定向到run
    Response.redirect(url)在正常情况下,会重定向到另一个页面。要正确测试,请在我的行中添加一行,并在该行之后返回。@Jin Yong-出于好奇,什么解决方案对您有效?您是否使用了“Page.RegisterStartupScript”?Page.RegisterStartupScript已被弃用。您好,Drew,获得公认答案的一个好方法是详细阐述问题中的概念,然后提供一个具体的工作示例。替代品也总是好的。一个完整的答案可能会随着时间的推移为您生成更多的堆栈溢出点。希望这能有所帮助。这与我的回答有什么不同?:)@亚历克斯-当我发布我的答案时,你的答案还不可见。真奇怪。我们的答案相隔15分钟。所以现在当你看到这个,你可以删除重复的答案,或者把它改成不同的答案,对吗?