我有一个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
课程的.BorderWidth
和HyperLink
元素 - 似乎对我不起作用(我仍然看到我的图片周围有边框)。
我错过了什么?我怎样才能实现目标?
答案 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
属性之外,为什么不将图像添加为超链接的子项,这样您仍然可以在其上设置所需的所有属性。