Asp.net资源 - 当资源引用无效时,防止页面上的错误

时间:2010-09-20 08:30:14

标签: asp.net resources dynamic

我正在使用这样的资源;   “runat =”server“/>

在数据库中维护资源,并在添加新翻译时生成资源文件。有时会发生对密钥的错误引用。这会导致整个页面出错。

如果资源不存在,如何防止整个页面崩溃?我只想要一个资源不足的小错误消息,例如“Not found:Users.DetailsUserHeadline”。

我还想通过将密钥定义为字符串“Users.DetailsUserHeadline”而没有任何错误来从后面的代码中动态检索资源。

建议?

1 个答案:

答案 0 :(得分:0)

如果要在未找到资源的情况下使用ResourceKey ,只需修改用于获取资源的方法即可。它应该看起来像:

public class ResourceManager
{
   public static string GetResource(string key)
   {
      string val = TryGet(key);
      if (string.IsNullorEmpty(val)) val = key;
      return val;
      //or you don't use a TryGet method
      //try
      //{
      //   val = GetTheResource(key);
      //}
      //catch (ResourceNotFoundException e)
      //{
      //   val = key;
      //}
   }
}

如果要显示未向用户找到资源的提示,则需要编写自己的异常,如:

public class ResourceNotFoundException : Exception
{
   // define the properties you want to get
}

当您尝试获取资源时使用throw new ResourceNotFoundException()。在您的UI部分中,您可以捕获异常并向用户显示内容。