ASP.NET文本本地化嵌入链接…并且链接是一个服务器控件

ASP.NET文本本地化嵌入链接…并且链接是一个服务器控件,asp.net,localization,internationalization,Asp.net,Localization,Internationalization,我正在对ASP.NET应用程序进行国际化和本地化,但在字符串文本与标记混合的情况下遇到了问题。像这个例子: Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl" runat="server">click here</a> to log into the site. Acme地毯零售商登录该网站。 对于大多数字符串文本,我使用Localize控件。我可以将其嵌入本地化控件、标记和所有内容

我正在对ASP.NET应用程序进行国际化和本地化,但在字符串文本与标记混合的情况下遇到了问题。像这个例子:

Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl" 
    runat="server">click here</a> to log into the site.
Acme地毯零售商登录该网站。
对于大多数字符串文本,我使用
Localize
控件。我可以将其嵌入本地化控件、标记和所有内容中,但问题是链接不再是服务器控件。(它在页面上由其ID引用。)

我真的无法拆分字符串(“Acme地毯零售商”、“单击此处”等),因为不同语言中的词序可能不同

我已经看到了一些关于如何做到这一点的建议,但它们都假设带有嵌入链接的文本是在代码中分配的,而不是在标记中分配的,并且它不是服务器控件


有没有关于如何成功本地化的建议?

如果不同语言中的词序可能不同,您别无选择,只能在resx中本地化整个文本(包括标记)

但是,当然,如果这太麻烦,您可以更改应用程序以使文本更结构化:

Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl" 
runat="server">(Log in here)</a>
Acme地毯零售商

如果不同语言中的词序可能不同,则您别无选择,只能将整个文本(包括标记)本地化到resx中

但是,当然,如果这太麻烦,您可以更改应用程序以使文本更结构化:

Acme Carpet Retailers <a href="#" class="link" id="ssoLoginUrl" 
runat="server">(Log in here)</a>
Acme地毯零售商
你就不能这样做吗:

<%= String.Format(Resources.MyResource.mydata, 
"<a href=""#"" class=""link"" id=""ssoLoginUrl"" runat=""server"">",
"</a>"
) %>

然后我将资源mydata定义为: “{0}单击此处{1}登录该站点。”

您不能只执行以下操作:

<%= String.Format(Resources.MyResource.mydata, 
"<a href=""#"" class=""link"" id=""ssoLoginUrl"" runat=""server"">",
"</a>"
) %>

然后我将资源mydata定义为:
“{0}单击此处{1}登录该站点。”

为什么不能在代码中分配此内容?即使可以,您会使用什么语法?为什么不能在代码中分配此内容?即使可以,您会使用什么语法?这就是我正在做的,但我想知道是否有一种方法可以在保持结构不变的同时执行此操作。这就是我正在做的,但我想知道是否有一种方法可以在保持原有结构的同时做到这一点。