繁体   English   中英

如何在服务器标签中使用强类型资源?

[英]How can I use strongly-typed resources in server tags?

我试图将一些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的吗? 使用<%= %>也不起作用(大概是因为它直接写入响应流,但是我需要设置它的属性)。

EDit :我需要以编程方式在成千上万个文件中进行此操作,因此将其移动到代码隐藏文件中不是一种选择:(

给超链接指定一个ID,然后从后面的代码中设置text属性。

额外的优势:您可以将逻辑从演示中分离出来,并填写各自的值

我能找到的唯一解决方案是将资源放在打开/关闭标签之间。 这仅适用于某些控件,因此将需要更改其他控件。

<asp:HyperLink runat="server" NavigateUrl="#"><% Translations.Blah1.Blah2 %></asp:HyperLink>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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