如何创建弹出消息框以显示.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()脚本还可以,但它们看起来相当业余。我建议有两种选择
当然,如果你想让你的应用看起来更可靠,不要向他们显示任何错误。:) 你想让弹出窗口出现在服务器上还是客户端上?@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分钟。所以现在当你看到这个,你可以删除重复的答案,或者把它改成不同的答案,对吗?