我正在尝试更改一些 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.
有没有什么方法可以在不使用 <%# Databind %> 标签的情况下实现这一点,然后确保调用 Databind?使用 <%= %>
也不起作用(大概是因为它直接写入响应流,但我需要让它设置属性)。
编辑:我需要以编程方式跨越数千个文件,因此将它移动到代码隐藏文件不是一个选项:(
最佳答案
为超链接提供一个 ID,并从代码隐藏中设置文本属性。
额外优势:您将逻辑与表示分离并填充它们各自的值
关于c# - 如何在服务器标签中使用强类型资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6994326/