2009-12-09 4 views
0

잘못된 마크 업을 생성하는 링크 버튼에 문제가 있습니다.ASP.NET 링크 버튼 잘못된 마크 업 발생

<div style="margin-top: 5px; width: 150px; margin-left: auto; margin-right: auto;"> 
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel" 
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')"> 
     <div> 
      <span class="border top"> 
       <span class="border"> 
       </span> 
      </span> 
      <span class="icon cancel"> 
       Cancel 
      </span> 
      <span class="border bottom"> 
       <span class="border"> 
       </span> 
      </span> 
     </div> 
    </a> 
</div> 

공지 사항 하나 개의 태그 :

그것은는 다음과 같이 생성한다.

때때로이 생성 끝 (!)

<div style="margin-top: 5px; width: 150px; margin-left: auto; margin-right: auto;"> 
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel" 
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')"> 
    </a> 
    <div> 
     <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel" 
     class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')"> 
      <span class="border top"> 
       <span class="border"> 
       </span> 
      </span> 
      <span class="icon cancel"> 
       Cancel 
      </span> 
      <span class="border bottom"> 
       <span class="border"> 
       </span> 
      </span> 
     </a> 
    </div> 
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel" 
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')"> 
    </a> 
</div> 

공지 해주기 앵커 태그.

특정 브라우저에서만 특정 서버에서만 발생하며 서버는 Firefox 3.5를 사용하여 IIS 6에서 ASP.NET 2.0을 실행하여 페이지에 액세스합니다.

업데이트 : FF 뷰 소스를 사용하여 코드를 보았습니다. 플러그인이 설치되어 있지 않습니다.이 문서는 아마도 XHTML 1.1 Transitional이지만, 앵커 태그 안에 div 태그를 사용할 수 없으므로 유효성이 있다고 생각하지 않습니다.

답변

0

마크 업은 어떻게 보입니까? 파이어 버그에서? TidyHTML이 설치된 FF 소스 뷰어에서?

(X) HTML 선언에? HTML 4.1? XHTML 전환? 엄격한?

물어 그 이유는 <a> 태그가 인라인 요소로 정의된다, 그래서 그런 <div> 태그와 같은 블록 요소 감아 법적 없습니다.

FF로 표시되는 소스가 div 태그 끝에 추가 앵커 태그를 추가하여이 문제를 해결할 수 있도록 수정되었을 수 있습니다.

마크 업은 어떻게 보입니까? 파이어 버그에서? TidyHTML이 설치된 FF 소스 뷰어에서?

(X) HTML 선언에? HTML 4.1? XHTML 전환? 엄격한?

물어 그 이유는 <a> 태그가 인라인 요소로 정의된다, 그래서 그런 <div> 태그와 같은 블록 요소 감아 법적 없습니다.

FF로 표시되는 소스가 div 태그 끝에 추가 앵커 태그를 추가하여이 문제를 해결할 수 있도록 수정되었을 수 있습니다. FF는 그것을 수정으로


아니는 소스보기는 - 당신이 확인하고 싶은 경우, 당신은 ViewSourceWith plugin를 설치하고 선택의 메모장에서 소스를 볼 수 있습니다 - 나는이 둘 사이의 차이를 발견했습니다 .

ASP.NET 2.0과 달리 ASP.NET 2.0의 BrowserCaps는 FF, Safari 등을 인식하므로 일반 출력이 IE에서 보는 것과 다를 수 없습니다.

+1

보기 소스가 아무 것도 추가하지 않는다고 생각합니다. 페이지의 일반 텍스트일까요? 아닙니다. 아마 ASP.NET이 그것을 할 것입니다. –

+0

이 질문은 Firefox가 마크 업을 수정하려고 시도했음을 의미합니다 (http : // stackoverflow).com/questions/1318941/firefox-rendering-html-incorrect-sometimes 어쩌면 어떤 종류의 설정이거나이 동작이 어딘가에 기록되어있을 수 있습니다. –