次のように、コード ビハインドからプログラムで ASP.NET ハイパーリンク コントロールを作成しています。
Dim theBritishFlag As New HyperLink()
theBritishFlag.ImageUrl = ConfigurationManager.AppSettings("blobStorageURLHTTP") & "assets/images/winASafari/enFlag.png"
theBritishFlag.NavigateUrl = sectionFunctions.getSectionLink(Request.QueryString("sectionID"), "en", "gb")
ハイパーリンクの ImageUrl プロパティを設定していることに注意してください。これは、ページ上でハイパーリンクが次のようにレンダリングされることを意味します。
<a href="../../../../fr/fr/s/3499/meet-a-cheetah-home.aspx">
<img src="../assets/images/winASafari/frFlag.png" alt="" />
<!-- this is where the Literal should go--></a>
上記のハイパーリンク コード内に、以下のような新しい ASP リテラルを追加したいと思います。
Dim theBritishFlagText As New Literal()
theBritishFlagText.Text = "English"
theBritishFlag.Controls.Add(theBritishFlagText)
ASPハイパーリンクでは、子コントロール(リテラルなど)を(レンダリングされた<a>
タグ内に)追加できますか?これが機能していないことがわかっているため(レンダリングされたタグ内にテキストが表示されないため<a>
)
この Web アプリは両方を使用するため、VB.NET と C# でタグ付けしました。
(もちろん、上記のすべてのコントロールをページに適切に追加しました。)