-1

我有这个标签:alt='<%# Eval("ImageDesc") %>' 在 DataList 控件中

当我在浏览器中查看页面时,alt 标记始终为空:alt=""

也许这是因为超链接控件不支持alt标签?如何对 alt 标签进行数据绑定?

--------这是确切的代码

<asp:HyperLink ID="linkQuoteImage" runat="server" EnableViewState="False" ImageUrl='<%# "/images/"+Eval("ImageFile").ToString().Replace("/","/tmb/") %>' NavigateUrl='<%# "~/Quotes/"+Eval("SlugText") %>' alt='<%# Eval("ImageDesc") %>' Font-Underline="False" ForeColor="#333333"></asp:HyperLink>
4

4 回答 4

3

真的,超链接没有这个alt属性。如果这是想要的,请改用 Tooltip:

<asp:HyperLink ID="lnkTest" runat="server" ToolTip='<%# Eval("Data") %>'>'<%# Eval("OtherData")%>'</asp:HyperLink>

alt属性用于<img>标签中,以在找不到图像时显示替换文本。此外,文本在某些浏览器中显示为工具提示。如果要显示工具提示,请使用 HTMLtitle属性,该属性可以通过TooltipASP.Net 属性获得。

于 2013-03-21T15:48:00.737 回答
3

当我们使用基本 html 时,在超链接中使用 alt 属性

但如果你使用 asp.net 超链接控件 alt 属性被 ToolTip 替换,请改用它

将 alt='<%# Eval("ImageDesc") %>' 替换为 ToolTip='<%# Eval("ImageDesc") %>'

于 2013-03-21T15:59:39.317 回答
3

如果在 aspx 页面中

<asp:HyperLink ID="linkQuoteImage" runat="server">Text for image alt</asp:HyperLink>

如果在后面的代码中只做 linkQuoteImage.Text = "Text for image alt" -- 你在 alt 中需要的文本

于 2014-02-13T02:56:12.820 回答
1

您的<asp:HyperLink>控件是否在某些控件中,例如中继器?

这段代码对我有用。

前端:

<asp:Repeater ID="rptTest" runat="server">
    <ItemTemplate>
        <asp:HyperLink ID="testLink" runat="server" alt='<%# Eval("ImageDesc") %>'>This is a link</asp:HyperLink>
    </ItemTemplate>
</asp:Repeater>

后端:

protected void Page_Load(object sender, EventArgs e)
{
    var images = new List<ImageData>
    {
        new ImageData { ImageDesc = "test" },
        new ImageData { ImageDesc = "test2" }
    };
    rptTest.DataSource = images;
    rptTest.DataBind();
}

...

public class ImageData
{
    public string ImageDesc { get; set; }
}

如果您没有使用具有Eval可用方法的控件,则需要以不同的方式添加属性。我建议只在代码隐藏中设置它。

前端:

<asp:HyperLink ID="testLink" runat="server">This is a link</asp:HyperLink>

后端:

protected void Page_Load(object sender, EventArgs e)
{
    if (testLink.Attributes["alt"] == null)
    {
        testLink.Attributes.Add("alt", "test");
    }
}
于 2013-03-21T15:59:06.410 回答