2010-07-08 4 views
3

Я знаю, что я могу установить текст ярлыка, используя следующий синтаксис.ASP.NET: два способа доступа к глобальному ресурсу программно

lblMessage.Text = (string)GetGlobalResourceObject("resxFile", "message"); 

Каковы преимущества и недостатки, связанные с использованием синтаксиса ниже?

lblMessage.Text = Resources.resxFile.message; 

Второй способ не будет работать для локальных файлов ресурсов. Есть ли другой синтаксис для локальных файлов ресурсов?

+0

Обратите внимание, что второй путь доступа к файлу ресурсов работает только в том случае, если вы не планируете локализовать и, таким образом, назовите его «Resources.TextResources.resx» вместо «Resources.TextResources.en.resx» – Christian

ответ

2

Второй способ выглядит лучше, потому что он строго типизирован. Если вы изменили имя файла ресурса или имя ресурса, тогда вы получите ошибку компиляции. Если вам нужно динамически получить ресурс, вам придется сделать это первым путем, иначе используйте оператор switch или что-то подобное.

Если вы используете ASP.NET 2.0 или выше есть фактически третий способ установить метку с помощью разметки только:

<asp:Label ID="Label1" runat="server" Text="<%$ Resources:resxFile,message %>" /> 

Любопытное, связанные с локализацией: http://quickstarts.asp.net/QuickStartv20/aspnet/doc/localization/localization.aspx

Смежные вопросы