我正在使用这样的资源; “runat =”server“/>
在数据库中维护资源,并在添加新翻译时生成资源文件。有时会发生对密钥的错误引用。这会导致整个页面出错。
如果资源不存在,如何防止整个页面崩溃?我只想要一个资源不足的小错误消息,例如“Not found:Users.DetailsUserHeadline”。
我还想通过将密钥定义为字符串“Users.DetailsUserHeadline”而没有任何错误来从后面的代码中动态检索资源。
建议?
答案 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部分中,您可以捕获异常并向用户显示内容。