如何删除零空格字符 (​)ASP 转发器生成的
本文关键字:ASP #8203 转发器 amp 字符 何删除 删除 空格 | 更新日期: 2023-09-27 18:36:16
我有一个基本的asp中继器,它可以生成一个ul
及其子li
s。似乎每个li
前面都有这个神奇的零空间字符(​
)。这会在每个列表项之间添加额外的空间来弄乱设计。
该代码目前在开发站点上,所以我无法为您提供链接。这是基本标记
<asp:Repeater ID="rptrPageMeta" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
<div class="clear"></div>
</FooterTemplate>
</asp:Repeater>
转发器具有在表示器中绑定到它的数据项列表。但在此示例中,这是无关紧要的,因为每个项目都不会呈现任何内容。这是它生成的:
<ul>
​
<li>
</li>​
<li>
</li>​
<li>
</li>​
<li>
</li>​
<li>
</li>​
<li>
</li>
</ul>
我想删除该字符,而不是进行CSS黑客来隐藏它。我试图通过将所有代码放在一行上来删除文件中的所有空格。这删除了那里的空格,但不会删除零空格字符。我还在记事本++中编辑了文件,其中显示了所有字符,并且该字符不存在。
有哪些方法可以删除此角色?
编辑:我确实创建了一个新项目,但无法重现此问题。我现在唯一能假设的是它是由Sitefinity引起的。此代码用于Sitefinity 5 CMS内部的小部件模板。
当前黑客:我解决这个问题的方法是在特定列表中使用以下 js:
if ($('.my-list').length > 0) {
$('.my-list').each(function() {
$(this).html($(this).children('li'));
});
}
在 ItemTemplate 中,让标记彼此并排。
<ItemTemplate><li></li><ItemTemplate>
您是从 Repeater 控件发出此字符的错误假设开始的。不是。您的数据或源代码都包含字符。
当然,你无法在Visual Studio中看到该字符,因为它毕竟是零宽度。尝试使用记事本++并将其配置为显示特殊字符。或者使用十六进制编辑器。