出于某种原因,这段代码:
<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以评估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>
答案 1 :(得分:0)
要测试此项,请将代码更改为一行。删除%&gt;之间的所有间距&lt;%我打赌它会修复它。当我将代码放在一行中时,请查看下面的所有间距。 Coldfusion有一个指令告诉渲染器如何解释代码页空白区域。
<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>