所以基本上我有一个asp.net项目,在aspx页面中的HTML代码中,我使用csharp注解来放置c#代码。
因此,当我尝试将资源代码放入其中时,它会给出错误。检查下面的示例。
<asp:HyperLink runat="server" data-toggle="tab" href="#Groups" Text="<%$ Resources:Resource,rs_test %>" ID="link_Groups" CssClass="hub_mediumFont" />在这一行中,我们可以看到c#代码写在双引号内,这可以很好地工作,但是一旦我尝试在双引号外使用C#,它就不能工作。例如
<span><%$ Resources:Resource,rs_test %></span>这不起作用。我尝试过<%:....%>,但它仍然是一样的。
谁能告诉我为什么会发生这样的事情?
发布于 2020-03-12 01:35:46
问题不在于双引号。来自Working with Resources in Web Pages
创建资源文件后,即可在ASP.NET网页中使用它们。通常使用资源来填充页面上控件的属性值。例如,您可以使用资源来设置Button控件的Text属性,而不是将该属性硬编码为特定字符串。
所以你不能直接对静态字符串使用Resources,你可以把资源放在像Label这样的asp.net控件中:
<asp:Label runat="server" Text="<%$ Resources:Resource,rs_test %>" />或者你可以使用Localize控件来处理静态文本。来自Localizing Static Text
如果页包含静态文本,则可以使用ASP.NET本地化,方法是将其包含在Localize控件中,然后使用显式本地化来设置静态文本。Localize控件不呈现标记;它的唯一功能是充当本地化文本的占位符。
<asp:Localize runat="server" Text="<%$ Resources:Resource,rs_test %>" />https://stackoverflow.com/questions/60638980
复制相似问题