次のように、ページで明示的なローカライズを使用しています。
<asp:Literal ID="appTitle" runat="server" Text="<%$ Resources:TranslationResource, AppTitle %>"></asp:Literal></div>
AppTitle リソースが存在しない場合、「パーサー エラー」を回避し、空の文字列またはリソース名を表示する方法はありますか?
前もって感謝します。
次のように、ページで明示的なローカライズを使用しています。
<asp:Literal ID="appTitle" runat="server" Text="<%$ Resources:TranslationResource, AppTitle %>"></asp:Literal></div>
AppTitle リソースが存在しない場合、「パーサー エラー」を回避し、空の文字列またはリソース名を表示する方法はありますか?
前もって感謝します。
GetGlobalResourceObject
キーが存在しない場合、例外をスローするのではなく、同じことを行いますが null を返す を使用できます。
<div><%= GetGlobalResourceObject("TranslationResource", "AppTitle") %></div>
null 合体演算子を使用して、フォールバック値を簡単に追加できます。
<div><%= GetGlobalResourceObject("TranslationResource", "AppTitle") ?? "No translation resource" %></div>
ローカリゼーション プロバイダーの動作を集中的に変更する必要がある場合 (ページで使用される構文を変更する必要はありません)、 をオーバーライドできますresourceProviderFactoryType
。タイプを web.configグローバリゼーションセクションに追加します ...
<globalization resourceProviderFactoryType="MyLocalizationProvider"/>
そしてMyLocalizationProvider
、サブクラス化して作成しますResourceProviderFactory
。