2009-04-25 5 views
4

asp : ImageButton 서버 컨트롤을 사용하고 있습니다. CssClass 속성을 CSS 스타일로 설정합니다. 테두리 스타일은 다음과 같습니다. solid 1px red;ASP.NET input type = 'image'컨트롤에서 'style'속성을 제거하는 방법?

style="border-width:0px;" 

Q1을 다음과 같이

.NET 자동 인라인 '스타일'속성을 렌더링합니다. 자동 인라인 '스타일'을 제거 할 수 있습니까? 예 : PreRender에서 HTML을 검사하고 편집할까요? Attributes.Remove ("style")를 시도했지만 작동하지 않습니다 (이상하게도 오류가 발생하지 않음). 어딘가에서 내가 수동으로 추가 한 속성 만 제거 할 수 있습니다.

내 해결 방법은 aspx 페이지에서 BorderWidth = 1px 속성을 지정하는 것이지만 어쨌든 (자동으로!) 버그가 수정되면 CssClass 속성을 제공하는 것이 무엇이겠습니까?

답변

3

그들이 이렇게하는 이유는 그들이 이미지의 기본 테두리를 가지고 HTML의 유산 때문이다 태그를 포장하는 <a> 태그가 있어야합니다. 대부분의 상황에서 사람들은 이러한 경계를 원하지 않으므로 ASP.NET은 자신이하는 일을합니다. 이 문제를 취득하기 위하여는, 당신은 당신의 스타일 시트에 다음 (당신이 cssclass='redborderbutton'을 설정하는 가정) 수행 할 수 있습니다

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

post render 당신은 JQuery로 그것을 제거 할 수 있습니다.

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

는 CSS 스타일 선택기로 "IMG"를 교체 -하지만 따옴표를 유지한다. 사실

, 나는 asp.net의 기본 렌더링을 "수정"을 asp.net이에게 많이 할

1

당신은 HTML 서버 컨트롤을 사용할 수 있습니다.

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

필자가 작성한 내용에 충분히 가깝습니다. – jrcs3

0

ASP는 이제까지 태그 중 가장 해킹 된 집합입니다. 테두리가 "유산"이라 할지라도 CSS에서 해결할 수 있습니다.

관련 문제