0

在我的 ASP.NET C# 应用程序中,我想显示许多不同的错误消息。

我显示错误消息的方式是通过以下方式弹出:

       Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('My error message here');", true);
        return;

由于有许多不同的错误消息(有些跨页面重复)并且我的应用程序中有很多不同的页面 - 我想将所有错误消息放在一个集中的页面上并以某种方式引用它 - 这样当我需要时更改我的错误消息,我只需要更改一页而不是所有页面。

最好的方法是什么?

我想我需要创建一个 .cs 页面?每个错误消息都有不同的 ID。

这似乎是一件非常简单的事情,但我对如何开始有点迷茫。

有人可以建议最好的方法吗?

谢谢。

4

3 回答 3

6

我会添加扩展方法来显示警报并将所有异常字符串保留在资源文件中。然后我可以调用如下方法

用法

this.ShowAlert(Resource1.MyException);

扩展方法

using System;
using System.Web.UI;

namespace WebApplication1
{
    public static class Extensions
    {
        public static void ShowAlert(this Control control, string message)
        {
            if (!control.Page.ClientScript.IsClientScriptBlockRegistered("msgbox"))
            {
                var script = String.Format("alert('{0}');", message);
                control.Page.ClientScript.RegisterStartupScript(control.Page.GetType(), "msgbox", script, true);
            }
        }
    }
}

将资源文件添加到您的项目中,并将消息作为具有含义全名的字符串条目输入。

于 2013-06-04T04:28:35.483 回答
1

由于您似乎显示 JavaScript 错误消息,我将创建一个 JS 包含文件并在那里定义 JS 方法。这样您就可以在包含 JS 文件的所有页面上重用这些方法。

https://softwareengineering.stackexchange.com/questions/91242/what-is-the-best-way-to-include-javascript-file-using-script-tag

于 2013-06-04T04:09:46.053 回答
0

JS 方法可以定义在
* Master Page
* 所有页面继承的自定义基类中。

于 2013-06-04T04:19:55.567 回答