如何在asp.net中显示错误消息?

时间:2009-09-18 09:11:15

标签: asp.net ajax validation alert

我有一堆文本框和一个保存按钮来更新内容。当我单击“保存”时,我会在代码隐藏文件中确定是否正确填写了代码。

如果未正确填写,我希望以警告的形式显示错误消息。

最好的方法是什么?按下按钮显然会使页面回发,所以我考虑向URL添加一些内容,如mypage.aspx?errormessage=blahblah,但我不知道这是最好的方法,甚至不知道如何做...

有什么建议吗?

7 个答案:

答案 0 :(得分:3)

模态警报很糟糕,回发也是如此。尝试在客户端尽可能多地检查,而无需往返服务器。请参阅jQuery Validation插件,了解更少侵入性的验证方法。

答案 1 :(得分:1)

您是否可以使用CustomValidator触发显示警告框的客户端脚本?

答案 2 :(得分:1)

您可以使用服务器端错误处理代码中的ClientScript.RegisterStartupScript()方法编写一个调用alert('message')的javascript片段,类似这样的

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

但我建议你改用验证器。如果你实现自己的自定义验证器,你可以让它发出可以在提交之前运行的客户端脚本,以避免完全回发。

验证器的一个好处是它们的错误消息可以显示在页面上的ValidatorSummary中,避免使用丑陋的警告框。

答案 3 :(得分:0)

首先,我不建议向用户显示模态警报框。

您可以从服务器端代码调用javascript函数,在该函数中可以弹出错误。

或者您可以发出AJAX请求,在服务器端验证后,您可以向客户端发送回复。

答案 4 :(得分:0)

ASP.NET的各种验证控件(启用了客户端验证),加上正确的错误消息和/或摘要消息,对于大多数情况来说都足够了。

对于'AJAX感觉和行为',将控件放入更新面板也很容易实现。

答案 5 :(得分:0)

尽可能多地使用你的验证器,它们会向客户端呈现一些javascript,因此你可以使用这些控件进行大量验证,并且只有当它们都满意时才允许页面提交。

他们会在每次提交时触发,因此如果您不希望每个提交操作都触发它们,则将控件作为验证组的一部分。

他们可以使用正则表达式验证输入,确保字段有值,还有一些值。

然后有属性声明'消息'和控件以显示所有验证器消息。所有这些都非常嗖嗖,并且内置于IDE中。

查看验证器控件。

答案 6 :(得分:0)

在按钮点击事件中尝试以下代码:

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

它会显示一条警告信息。

否则在您的aspx页面上放置一个标签,并在page_load事件中设置可见的false。 当您的按钮事件发生错误时,将标签可见性设置为“true”,并使用错误消息填充标签文本。