我正在尝试更改一些ASP.NET代码,以使用我们在C#代码中使用的强类型转换。目前代码如下所示:
<asp:HyperLink runat="server" Text='<%$ Resources:Blah1,Blah2 %>' />
我希望它看起来像这样:
<asp:HyperLink runat="server" Text='<% Translations.Blah1.Blah2 %>' NavigateUrl="#" />
原因是我们在第一种情况下使用了自定义提供程序,并且它与aspnet_compiler不兼容,我们正在尝试消除由不编译的aspx / ascx文件引起的问题。
但是,如果我更改代码(如上所示),我会收到此错误:
Server tags cannot contain <% ... %> constructs.
有没有办法实现这一点,而无需使用&lt;%#Databind%&gt;标签然后确保调用Databind?使用<%= %>
也不起作用(可能是因为它直接写入响应流,但我需要设置属性)。
编辑:我需要以编程方式跨越数千个文件,因此将其移至代码隐藏文件不是一种选择:(
答案 0 :(得分:0)
为超链接指定ID,并从代码隐藏中设置text属性。
额外优势:您将逻辑从演示文稿中分离并填写各自的值
答案 1 :(得分:0)
我能找到的唯一解决方案是将资源放在打开/关闭标记之间。这仅适用于某些控件,因此需要更改其他控件。
<asp:HyperLink runat="server" NavigateUrl="#"><% Translations.Blah1.Blah2 %></asp:HyperLink>