簡體   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