Отображение значения ресурса без элемента управления Label или Literal - PullRequest
14 голосов
/ 08 марта 2011

Как отобразить значение ресурса без элемента управления ASP.NET, т.е. я хочу избежать этого:

<asp:Label text="<%$ Resources: Messages, ThankYouLabel %>" id="label1" runat="server" />

Вместо этого я бы предпочел сделать это на своих страницах .aspx:

<%$ Resources: Messages, ThankYouLabel %>

... но я не могу, выдается ошибка парсера:

Literal expressions like '<%$ Resources: Messages, ThankYouLabel %>' are not allowed.
Use <asp:Literal runat="server" Text="<%$ Resources: Messages, ThankYouLabel %>" /> instead.

Ответы [ 4 ]

21 голосов
/ 08 марта 2011

Используйте HttpContext.GetGlobalResourceObject вместо:

<asp:Label text='<%= GetGlobalResourceObject("Messages", "ThankYouLabel") %>' 
     id="label1" 
     runat="server" />
7 голосов
/ 08 марта 2011

Это невозможно. Вы должны использовать по крайней мере Literal. Другой вариант - использовать GetGlobalResurceObject, чтобы вы могли использовать его непосредственно на странице.

<%= GetGlobalResourceObject("Messages", "ThankYouLabel")%>
4 голосов
/ 08 марта 2011

В коде позади Вы можете использовать

`GetLocalResourceObject("YourKeyInLocalResource")` 

, а также

`GetGlobalResourceObject("GlobalResourceFileName", "YourResourceKey")` 

, а затем использовать простую переменную aspnet в разметке Asp.net, например <% = Resourcevalue%>

Вы можете назначить значение ресурса для вашей переменной Aspnet, например

Resourcevalue = GetGlobalResourceObject("GlobalResourceFileName", "YourResourceKey").ToString();
0 голосов
/ 09 ноября 2014

Другой метод: -

<asp:Label text='<%= Resources.Messages.ThankYouLabel %>' 
     id="label1" 
     runat="server" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...