2010-09-20 66 views
0

我正在使用这样的资源; “RUNAT =”服务器” />Asp.net资源 - 当资源引用无效时防止页面上的错误

资源被保存在数据库中,并resourcefiles时所产生新的翻译被添加到钥匙。有时坏的引用情况,这将导致错误的整个页面上。

如何当资源不存在时,我可以防止整个页面崩溃吗?我只想要一个资源不足的小错误消息,如“未找到:Users.DetailsUserHeadline”。通过将该键定义为没有任何错误的字符串“Users.DetailsUserHeadline”。

建议?

回答

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部分,你可以捕捉异常并向用户显示一些东西。

+0

嗨,谢谢你的回答!我在我的项目中找不到ResourceManager(其他人在项目中创建了资源部分),是否该项目使用Resource usage的标准实现?我可以重写这个吗? – Tofslus 2010-09-20 09:51:41