Подтвердить что ты не робот

Отображать значение ресурса без контроля над метками или литеральными

Как отобразить значение ресурса без элемента управления 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.
4b9b3361

Ответ 1

Вместо этого используйте HttpContext.GetGlobalResourceObject:

<asp:Label text='<%= GetGlobalResourceObject("Messages", "ThankYouLabel") %>' 
     id="label1" 
     runat="server" />

Ответ 2

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

<%= GetGlobalResourceObject("Messages", "ThankYouLabel")%>

Ответ 3

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

`GetLocalResourceObject("YourKeyInLocalResource")` 

а также

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

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

Вы можете присвоить свой ресурс своей переменной Aspnet, например

Resourcevalue = GetGlobalResourceObject("GlobalResourceFileName", "YourResourceKey").ToString();

Ответ 4

Другой способ: -

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