2013-11-25 103 views
0

我想用50圖像顯示一個頁面。我要顯示一行中的每個3個圖像插入3個項目後無法在html中插入新行

我所做的是:

@{ 
    ViewBag.Title = "Images"; 
} 
@{int i = 0;} 
<table> 
@foreach(var oneImage in Model){ 
    <a href="ShowOneImage/[email protected]"> 
       <img class="rollover_img" src ="data:image;base64,@System.Convert.ToBase64String((byte[]) oneImage.image)" /> 
    </a> 
    {i++;} 
    if (i % 3 == 0) {  
     <p></p> 
    } 
} 
</table> 
然而

,我得到了這樣的結果: enter image description here

請注意到fouth圖像沒有在alighed第二排,雖然我做了<p></p>

我在做什麼錯請?

回答

2

您試圖將一個表中的鏈接和段落。這是無效的HTML,沒有瀏覽器會產生這樣的元素。不同的瀏覽器會以不同的方式作出反應,例如爲您創建表格行和表格單元格,或將表格移動到表格外。

刪除表標籤,或生成錶行和表單元格的內容:

@{int i = 0;} 
<table> 
<tr> 
@foreach(var oneImage in Model){ 
    <td><a href="ShowOneImage/[email protected]"> 
       <img class="rollover_img" src ="data:image;base64,@System.Convert.ToBase64String((byte[]) oneImage.image)" /> 
    </a></td> 
    {i++;} 
    if (i % 3 == 0) {  
     </tr><tr> 
    } 
} 
</tr> 
</table> 
1

這樣寫:

if (i % 3 == 0) {  
    <br/> 
} 
0

<p>標籤是爲段落。您應該使用換行符代替,即<br />