2009-12-09 5 views
0

Je rencontre des problèmes avec un bouton de liaison générant un marquage incorrect.ASP.NET Link Bouton générant une mauvaise marque

Il devrait générer quelque chose comme ceci:

<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> 

avis qu'une seule étiquette.

Il finit par produire parfois ceci: (!)

<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> 

Remarquez maintenant 3 balises d'ancrage.

Cela se produit uniquement sur un serveur spécifique à un navigateur spécifique, le serveur exécute ASP.NET 2.0 sur IIS 6 en utilisant Firefox 3.5 pour accéder à la page.

Mise à jour: Je regarde le code en utilisant la source d'affichage FF, pas de plugins installés, le document est censé être XHTML 1.1 Transitional, mais je ne pense pas qu'il valide.

Répondre

0

Comment voyez-vous ce balisage? Dans Firebug? Dans la visionneuse de source FF avec TidyHTML installé?

Quelle déclaration (X) HTML utilise en utilisant? HTML 4.1? XHTML Transitional? Strict?

La raison pour laquelle je demande, est que l'étiquette <a> est définie comme un élément en ligne, il est donc pas légal de l'enrouler autour d'un élément bloc, comme une étiquette <div>.

La source que vous voyez dans FF a probablement été corrigée pour gérer cela, en ajoutant les balises d'ancrage supplémentaires à l'intérieur et à la fin de l'étiquette div.

Comment voyez-vous ce balisage? Dans Firebug? Dans la visionneuse de source FF avec TidyHTML installé?

Quelle déclaration (X) HTML utilise en utilisant? HTML 4.1? XHTML Transitional? Strict?

La raison pour laquelle je demande, est que l'étiquette <a> est définie comme un élément en ligne, il est donc pas légal de l'enrouler autour d'un élément bloc, comme une étiquette <div>.

La source que vous voyez dans FF a probablement été corrigée pour gérer cela, en ajoutant les balises d'ancrage supplémentaires à l'intérieur et à la fin de l'étiquette div.


Nope, La Source est comme FF fixe vers le haut - si vous voulez vérifier, vous pouvez installer le ViewSourceWith plugin, et afficher la source dans votre NotePad de choix - je l'ai remarqué des différences entre ces deux . Contrairement à ASP.NET 1.1, les BrowserCaps dans ASP.NET 2.0 reconnaissent FF, Safari, etc, donc la sortie générale ne devrait pas être différente de ce que vous voyez dans IE.

+1

Je ne pense pas que la source de vue ajouterait quelque chose, c'est le texte clair de la page, n'est-ce pas? Peut-être que ASP.NET le ferait bien. –

+0

Cette question mentionne aussi Firefox essayant (et échouant) de corriger mark up: http: // stackoverflow.com/questions/1318941/firefox-rendu-html-incorrect-parfois Peut-être que c'est une sorte de config ou ce comportement documenté quelque part ... –

Questions connexes