2011-01-05 56 views
1

出於某種原因,這個代碼:額外的空間被放置在表格單元格

<td id="ddlHolidayCity" colspan="3"> 
        <% for (int i = 0; i < Model.Trx.TransactionHolidayCityCollection.Count; i++) 
         {%> 
          <%=i > 0 ? "," : ""%> 
          <%=DropDownData.HolidayDays().ToList().Find(item => item.Value == Model.Trx.TransactionHolidayCityCollection[i].HolidayCityID.Value.ToString()).Text%> 
         <%} 
        %> 
        </td> 

是顯示城市是這樣的:

紐約,倫敦

- 看到逗號前的額外空間?那從哪裏來?

+0

數據源中紐約(「紐約」)之後是否有額外空間? – 2011-01-05 18:59:36

+0

這似乎看起來很好 - 也許我錯過了一些東西,但輸出的城市名稱在哪裏?您確定在退出收藏之前他們不包含任何前導空間/尾隨空間嗎? – 2011-01-05 18:59:49

+0

當你查看源代碼時,它是一個換行符?你可以使用你的TransactionHolidayCityCollection並調用Join()嗎? – 2011-01-05 19:00:19

回答

1

它可能來自一個換行符或其他空格字符,在轉義HTML以評估i之前。由於它在for循環內,因此它被添加到輸出中。嘗試,如果被刪除尖括號之間的空間會發生什麼:

<td id="ddlHolidayCity" colspan="3"> 
        <% for (int i = 0; i < Model.Trx.TransactionHolidayCityCollection.Count; i++) 
         {%><%=i > 0 ? "," : ""%> 
          <%=DropDownData.HolidayDays().ToList().Find(item => item.Value == Model.Trx.TransactionHolidayCityCollection[i].HolidayCityID.Value.ToString()).Text%> 
         <%} 
        %> 
        </td> 
+0

+1。 HTML輸出中的任何空格(包括換行符)在頁面上呈現爲單個空格。 – 2011-01-05 19:54:26

0

爲了測試這種變化的代碼一行。刪除您的%> <%之間的所有間距我敢打賭它會修復它。當我將代碼放在一行中時,請參閱下面的所有空格。 ColdFire有一個指示告訴渲染器如何解釋代碼頁空白。

<td id="ddlHolidayCity" colspan="3">      <% for (int i = 0; i < Model.Trx.TransactionHolidayCityCollection.Count; i++)       {%>        <%=i > 0 ? "," : ""%>        <%=DropDownData.HolidayDays().ToList().Find(item => item.Value == Model.Trx.TransactionHolidayCityCollection[i].HolidayCityID.Value.ToString()).Text%>       <%}      %>      </td> 
相關問題