我正在以编程方式从后面的代码创建ASP.NET Hyperlink控件,如下所示:
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 Literal,如下所示:
Dim theBritishFlagText As New Literal()
theBritishFlagText.Text = "English"
theBritishFlag.Controls.Add(theBritishFlagText)
ASP超链接是否允许将子控件(如文字)添加到其中(在其呈现的<a>
标签内?因为我发现这不起作用(渲染内部没有文字出现) <a>
代码)
我已经使用VB.NET和C#进行了标记,因为这个网络应用程序使用了两者。
(是的,我已正确地将上面列出的所有控件添加到页面中。)
答案 0 :(得分:2)
你应该能够做到
theBritishFlag .Controls.Add(theBritishFlagText)
更新
我测试了这个并且它有效。您是否已将超链接添加到页面控件?
HyperLink abc = new HyperLink();
abc.NavigateUrl = "www.someurl.com";
Literal xy = new Literal();
xy.Text = "Click Here";
abc.Controls.Add(xy); //add literal to hyperlink control
Image i = new Image();
i.ImageUrl = "http://www.google.co.in/intl/en_ALL/images/logos/images_logo_lg.gif";
abc.Controls.Add(i); //add image
this.Controls.Add(abc); //add hyperlink to page control