简体   繁体   中英

Display value of Resource without Label or Literal control

How do I display the value of a resource without a ASP.NET control, ie I want to avoid this:

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

Instead I would prefer to do just this in my .aspx pages:

<%$ Resources: Messages, ThankYouLabel %>

... but I can't, a parser error is thrown:

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

Use HttpContext.GetGlobalResourceObject instead:

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

It's not possible. you have to use atleast Literal , Another option is to use GetGlobalResurceObject , so that you can use directly in a page.

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

In code behind You can Use

`GetLocalResourceObject("YourKeyInLocalResource")` 

and also

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

and then use a simple aspnet variable in your Asp.net Markup like <%= Resourcevalue %>

The you can assign your resource value to your Aspnet Variable like

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

Another method is :-

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM