我有一个输入标签,如:
<input src="..." title="<%= SomeResource.Label1 %>" />
它不是在重新发送文本,而是在title属性中呈现实际值:
<%= SomeResource.SoeLabelInMyResourceFile%>
我试过单引号而且没有变化,我做错了什么?
假设将title属性呈现为:
title="some text value stored in the resource file"
所以问题是服务器标签没有被渲染,而是认为我想要显示标题属性值的纯文本。
更新
如果我这样做,文字呈现就好了:
<td>
<%= SomeResource.Label1 %>
<input src="..." title="" />
</td>
但如果我将标签放在title属性中,我就会收到错误。
答案 0 :(得分:1)
<强>更新强>
1创建服务文件夹 App_GlobalResources (项目 - &gt;添加 - &gt; ASP.NET文件夹)
2将resx文件移动到此文件夹
3获取数据访问权限:
除了编程访问之外,ASP.NET 2.0还引入了声明性语法,可用于将命名字符串绑定到页面或控件的属性。语法包括使用美元符号($),后跟资源名称空间,资源文件的名称和字符串的名称[请参阅Resources and Localization in ASP.NET 2.0]
<asp:Literal runat="server" Text="<%$ Resources:Resource1, String1 %>" />
<input runat="server" type="text" value="<%$ Resources:Resource1, String1 %>" />
一切正常!
试一试:
<input src="..." title="<%$ Resources:SomeResource, Label1 %>" />
或
<input runat="server" src="..." title="<%$ Resources:SomeResource, Label1 %>" />
答案 1 :(得分:0)
您可以使用<asp:textbox>
代替吗?
答案 2 :(得分:0)
尝试使用GetLocalResourceObject()
<input src="..." title="<%= GetLocalResourceObject('SomeResource.Label1') %>" />
答案 3 :(得分:0)
可能是您的输入被标记为runat =“server”? 如果您要删除runat =“server”title =“&lt;%= SomeResource.Label1.Text%&gt;”会像预期的那样工作。