在开发ASP.NET应用程序时,本地化是一个重要的环节。通常,会使用Visual Studio .NET 2008的"生成本地资源"工具来实现。在处理文本时,可能会遇到包含超链接的句子,例如:"要获取更多信息,请访问网站上的支持页面。" 在这种情况下,不得不将句子分割成两个Localize控件和一个HyperLink控件,这不仅工作量巨大,而且超链接的位置和文本在不同语言中可能会有所不同。
为了简化上述场景,编写了一个名为"PartialHyperLink"的轻量级控件。这个控件包含一个单一的.CS文件,可以将其放入Web项目中,并立即使用。
PartialHyperLink控件具有以下特性:
要使用这个控件,只需将"PartialHyperLink.cs"文件放入Web项目的"App_Code"文件夹中。接下来,在每个想要使用它的.ASPX页面的顶部,通过编写以下代码行来注册控件:
ASP.NET
<%@ Register Namespace="App_Code" TagPrefix="zeta" %>
最后,通过编写类似于以下代码来创建控件的实例:
ASP.NET
<zeta:PartialHyperLink runat="server" ID="MyHyperLink" Text="这段文本{0}包含一个超链接{1}位于单个控件内" NavigateUrl="http://www.zeta-test.com" meta:resourcekey="MyHyperLinkResource1" />
在Text属性中使用占位符"{0}"和"{1}"来标记可点击超链接的开始和结束。