Ответ 1
Вместо этого используйте HttpContext.GetGlobalResourceObject:
<asp:Label text='<%= GetGlobalResourceObject("Messages", "ThankYouLabel") %>'
id="label1"
runat="server" />
Как отобразить значение ресурса без элемента управления 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.
Вместо этого используйте HttpContext.GetGlobalResourceObject:
<asp:Label text='<%= GetGlobalResourceObject("Messages", "ThankYouLabel") %>'
id="label1"
runat="server" />
Это невозможно. вам нужно использовать atleast Literal
, другой вариант - использовать GetGlobalResurceObject
, чтобы вы могли напрямую использовать его на странице.
<%= GetGlobalResourceObject("Messages", "ThankYouLabel")%>
В коде позади Вы можете использовать
`GetLocalResourceObject("YourKeyInLocalResource")`
а также
`GetGlobalResourceObject("GlobalResourceFileName", "YourResourceKey")`
а затем используйте простую переменную aspnet в вашей разметке Asp.net, например <% = Resourcevalue% >
Вы можете присвоить свой ресурс своей переменной Aspnet, например
Resourcevalue = GetGlobalResourceObject("GlobalResourceFileName", "YourResourceKey").ToString();
Другой способ: -
<asp:Label text='<%= Resources.Messages.ThankYouLabel %>'
id="label1"
runat="server" />