无需JS即可自动为所有图像添加Alt文本

时间:2014-05-10 13:23:35

标签: asp.net iis-7

如何在不使用javascript的情况下自动设置alt atribute = asp.net中图片标记的文件名?

<img src="/a/b/c/xxx.jpg" />

<img src="/a/b/c/xxx.jpg" alt="xxx.jpg" />

我认为可能是IIS上的重写模块?或者可能以某种方式更改基本Image类以发出不同的html?

任何想法?

谢谢

1 个答案:

答案 0 :(得分:1)

如果您愿意将runat="server"属性添加到您的img标记中,那么在您的代码中,您可以遍历页面上的控件列表以及所有img标记,更新alt属性。我在没有测试的情况下写了这个,所以可能需要进行一些小的调整。

private void UpdateImgTags<T>(ControlCollection controlCollection)
where T : Control
{
    foreach (Control control in controlCollection)
    {

        if (control is T)  {
            string filename = (T)control.Attributes["src"];
            filename = IO.Path.GetFileName(filename);
            (T)control.Attributes.Add("alt",filename);
        }
    }
}

调用方法:

UpdateImgTags<HtmlImage>(Page.Controls)