在ASP超链接控件中添加文字

时间:2013-08-08 15:35:43

标签: asp.net vb.net

我正在以编程方式从后面的代码创建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#进行了标记,因为这个网络应用程序使用了两者。

(是的,我已正确地将上面列出的所有控件添加到页面中。)

1 个答案:

答案 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