ASP.NET HyperLink而不是LinkBut​​ton - 如何避免图像边界?

时间:2010-10-01 11:16:31

标签: asp.net webforms asp.net-4.0 hyperlink webforms-routing

我有一个ASP.NET网站,其中包含一些ImageButton控件,这些控件会导致用于将产品列表过滤到某些产品组的回发。

ImageButton的创建方式如下:

ImageButton _myImageButton = new ImageButton();
_myImageButton.ImageUrl = PicturePath + PictureName;
_myImageButton.Attributes.Add("border", "0");
_myImageButton.OnClick += handleImageButtonClick();
Controls.Add(_myImageButton);

现在我转向使用像/products/category/item这样的SEO友好路径的ASP.NET 4.0,我正在使用Webforms路由将URL映射到webforms。在此过程中,我想用显示图像的超链接控件替换我的图像按钮,以便我可以将导航URL与每个图像相关联。

我正在创建我的新图像超链接:

HyperLink _myImageLink = new HyperLink();
_myImageLink.ImageUrl = PicturePath + PictureName;
_myImageLink.NavigateUrl = "/products/category/" + itemName;
_myImageLink.Attributes.Add("border", "0");
Controls.Add(_myImageLink);

我遇到的一个大问题:ImageButton用于在HTML中的border="0"标记上添加<img>属性,以避免图像周围出现边框。但是如何使用超链接控制实现相同的结果??

使用当前设置时,border="0"会卡在<a href="....">标记上 - 这并不是我想要/需要的。

任何想法?思考?我已经尝试了.BorderStyle课程的.BorderWidthHyperLink元素 - 似乎对我不起作用(我仍然看到我的图片周围有边框)。

我错过了什么?我怎样才能实现目标?

3 个答案:

答案 0 :(得分:3)

该属性不会自动插入ASP.NET 4.0中,因为它已被弃用;您应该使用CSS来设置有问题的img标记,而不是边框​​。一个可能的建议是在img标记内的a标记上进行设置:

a img{
  border: none;
}

答案 1 :(得分:0)

好像你不知道边界的原因。

这只是来自网址<a>

一个简单的CSS可以解决这个问题:

a {
  text-decoration: none;
}

或者您可以按照text-decoration: none;

的风格设置imageLink
myImageLink.Attributes.Add("style", "text-decoration: none");

答案 2 :(得分:0)

除了设置超链接的ImageUrl属性之外,为什么不将图像添加为超链接的子项,这样您仍然可以在其上设置所需的所有属性。