我正在使用asp:ImageButton服务器控件;我将CssClass属性设置为我的CSS样式,其中我定义了border:solid 1px red;
.NET 自动呈现内联“样式”属性,如下所示:
style="border-width:0px;"
Q1。我可以删除自动内联“样式”吗?例如在PreRender上也许检查HTML并编辑它? 我已经尝试过Attributes.Remove(“style”),但是这不起作用(奇怪的是也没有错误),我记得在某处我只能删除我手动添加的属性。
我的解决方法是在aspx页面中分配BorderWidth = 1px属性,但是如果它将被覆盖(自动!)错误或功能,提供CssClass属性的重点是什么?
答案 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中解决。