ASP.NET如何从input type ='image'控件中删除'style'属性?

时间:2009-04-25 02:32:40

标签: asp.net css attributes

我正在使用asp:ImageButton服务器控件;我将CssClass属性设置为我的CSS样式,其中我定义了border:solid 1px red;

.NET 自动呈现内联“样式”属性,如下所示:

 style="border-width:0px;"

Q1。我可以删除自动内联“样式”吗?例如在PreRender上也许检查HTML并编辑它? 我已经尝试过Attributes.Remove(“style”),但是这不起作用(奇怪的是也没有错误),我记得在某处我只能删除我手动添加的属性。

我的解决方法是在aspx页面中分配BorderWidth = 1px属性,但是如果它将被覆盖(自动!)错误或功能,提供CssClass属性的重点是什么?

4 个答案:

答案 0 :(得分:3)

他们这样做的原因是由于HTML的遗留问题,当图片包含<a>标记时,图片默认会有边框。在大多数情况下,人们不希望这些边界,这就是ASP.NET做他们所做的事情的原因。为了解决这个问题,您可以在样式表中执行以下操作(假设您正在设置cssclass='redborderbutton'):

.redborderbutton img
{
  border:solid 1px red !important;
}

答案 1 :(得分:1)

您可以使用HTML服务器控件。

<input id="Image1" runat="server" name="ImageButton1" src="images\image.jpg" type="image" />

答案 2 :(得分:0)

发布后,您可以使用JQuery删除它。

$(document).ready(function() { $("img").removeAttr('style'); }

将“img”替换为css样式选择器 - 但保留引号。

实际上,我在asp.net中做了很多工作来“修复”asp.net的默认渲染

答案 3 :(得分:0)

ASP是有史以来最骇客的标签。即使边界是“遗产”,也可以在CSS中解决。