2012-03-20 59 views
3

內被嵌套我有這樣的部分視圖:元素 'TR' 不能元件 'TR'

@model List<user> 

@foreach (var user in Model) 
{ 
    <tr> 
     <td>@user.name</td> 
     <td>...</td> 
    </tr> 
} 

而得到這樣的錯誤:

驗證(HTML5):元素「 tr'不能嵌套在元素'tr'中。

這令人討厭的比我想的要多,但我想擺脫它。安裝Web Standards Update沒有幫助。有任何想法嗎?

編輯 這是主視圖:

<table> 
    <thead> 
     <tr> 
      <th>@i18n.name</th> 
      <th>...</th> 
     </tr> 
    </thead> 
    <tbody id="results"> 
     @Html.Partial("list_rows", @Model.users) 
    </tbody> 
</table> 

這是所生成的HTML:

<table> 
    <thead> 
     <tr> 
      <th>naam</th> 
      <th>...</th> 
     </tr> 
    </thead> 
    <tbody id="results"> 


<tr> 
    <td>...</td> 
    <td>...</td> 
</tr> 
<tr> 
    <td>...</td> 
    <td>...</td> 
</tr> 

    </tbody> 
</table> 

編輯通過W3C驗證拉動整個頁面給出

本文檔已成功檢查爲HTML5!

+0

生成的HTML看起來像什麼? – 2012-03-20 10:33:50

+0

代碼如何看起來像圍繞局部視圖?你有沒有一個tr? – 2012-03-20 10:48:47

+0

@LockTar我添加了主視圖。 – Stijn 2012-03-20 10:54:27

回答

1

在循環模型之前打開<tr>元素時出現此錯誤。到目前爲止,您所發佈的代碼是正確的且沒有錯誤。

0

只要確保你的代碼看起來是這樣的:

<table> 

@foreach (var user in Model) 
{ 
    <tr> 
      <td>@user.name</td> 
      <td>...</td> 
    </tr> 
} 

</table> 

好像你已經在你嘗試添加更多的TR標籤開放tr標籤。如果您的表格中已經有tr標籤,請確保它們在循環啓動之前全部關閉:

+0

我沒有在其他地方打開'tr'標籤。局部視圖沒有'table'標記,因爲我使用無限滾動來通過AJAX加載更多行。 – Stijn 2012-03-20 10:55:38

+0

好的我在提交答案後看到了更新後的代碼。 – 2012-03-20 11:02:49

+0

我通過HTML5驗證器在線運行了您的代碼,並驗證其正確性。所以我只是假設這是Visual Studio抱怨的事情。你究竟在哪裏得到這個錯誤?在設計師? – 2012-03-20 11:14:41