2011-10-25 4 views
6

Ho eseguito in questo errore di convalida curiosa in Visual Studio 2010 con la validazione HTML5 selezionato:Visual Studio HTML5 Validation: Elemento 'img' non può essere nidificato all'interno dell'elemento 'a'

Validation error

Si tratta di una errore di validazione (legittimo o bug in Visual Studio) o mi manca qualcosa di ovvio e semplice?


Edit: aggiunto il codice relativo.

Vista cshtml:

@model My.Web.ViewModels.ListVideos 

@{ 
    ViewBag.Title = "All Videos"; 
} 

@foreach (var item in Model.Videos) { 
    <a href="@Url.Action("Play", "Player", new { videoId = item.VideoId })"> 
     <img src="http://i2.ytimg.com/vi/@item.PublisherVideoId/default.jpg" alt="@item.Title" style="border: 0" /> 
    </a> 
} 

_Layout.cshtml:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.6.4.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    <div class="page"> 
     <header> 
      <div id="title"> 
       <h1>My Web</h1> 
      </div> 
      <div id="logindisplay"> 
       @Html.Partial("_LogOnPartial") 
      </div> 
      <nav> 
       <ul id="menu"> 
        <li>@Html.ActionLink("Videos", "ListVideos", "Player")</li> 
        <li>@Html.ActionLink("Dev", "Index", "Dev")</li> 
       </ul> 
      </nav> 
     </header> 
     <section id="main"> 
      @RenderBody() 
     </section> 
     <footer> 
     </footer> 
    </div> 
</body> 
</html> 
+0

È possibile incollare l'intero blocco di codice HTML in aggiunta allo screenshot? – ObscureRobot

+0

Il mio codice è semplicissimo e utilizza il modello di app Web MVC3 predefinito, ma l'ho incluso comunque. –

risposta

11

è necessario Visual Studio 2010 SP1 update standard di Internet per avere questo lavoro in modo corretto. È un bug.

Vedere più qui: http://blogs.msdn.com/b/webdevtools/archive/2011/06/15/web-standards-update-for-visual-studio-2010-sp1.aspx?PageIndex=2

prelevare gli standard Web di aggiornamento qui: http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83

+0

Ho SP1: 'Versione 10.0.40219.1 SP1Rel' –

+0

Vedere la mia risposta aggiornata –

+0

Ecco, l'aggiornamento degli standard web ha funzionato. Grazie! In quella nota, sarebbe bello se ci fosse un modo semplice per sincronizzare gli aggiornamenti (o vedere le notifiche di tali) attraverso le macchine. Il mio desktop ha avuto l'aggiornamento ma il mio portatile no. –

2

Se si seleziona la W3C documentation su Html5 troverete che si può avere all'interno di un a tag nulla se non è pulsante o altri collegamenti.

L'elemento può essere racchiuso tra interi paragrafi, elenchi, tabelle e così via, anche intere sezioni, purché non vi sia contenuto interattivo all'interno (ad esempio pulsanti o altri collegamenti).