0

aulとその子lis を生成する基本的な asp リピーターがあります。それぞれliの前に、この魔法のゼロ スペース文字 ( ​) が付いているようです。これにより、各リスト項目の間に余分なスペースが追加され、デザインが台無しになります。

コードは現在開発サイトにあるため、リンクを提供できません。これが基本的なマークアップです

<asp:Repeater ID="rptrPageMeta" runat="server">
<HeaderTemplate>
    <ul>
</HeaderTemplate>
<ItemTemplate>​
    <li>
    </li>
</ItemTemplate>
<FooterTemplate>
    </ul>
    <div class="clear"></div>
</FooterTemplate>
</asp:Repeater>

リピーターには、プレゼンターでバインドされるデータ項目のリストがあります。ただし、この例では、各アイテムから何もレンダリングされないため、関係ありません。これが生成するものです:

<ul>
&#8203;
    <li>
    </li>&#8203;
    <li>
    </li>&#8203;
    <li>
    </li>&#8203;
    <li>
    </li>&#8203;
    <li>
    </li>&#8203;
    <li>
    </li>
</ul>

CSSハックをして非表示にするのではなく、文字を削除したいと思います。すべてのコードを 1 行にまとめて、ファイルからすべての空白を削除しようとしました。これにより、そこにあった空白が削除されましたが、ゼロスペース文字は削除されません。また、メモ帳++でファイルを編集し、すべての文字を表示しましたが、文字はありませんでした。

このキャラクターを削除するには、どのような方法がありますか?

編集:新しいプロジェクトを作成しましたが、この問題を再現できませんでした。私が今推測できる唯一のことは、Sitefinity が原因であるということです。このコードは、Sitefinity 5 CMS 内のウィジェット テンプレートで使用されます。

現在のハック:これを回避する方法は、特定のリストで次の js を使用することです。

if ($('.my-list').length > 0) {
    $('.my-list').each(function() {
        $(this).html($(this).children('li'));
    });
}
4

2 に答える 2

1

Repeater コントロールがこの文字を発しているという誤った仮定から始めています。そうではない。データまたはソース コードのいずれかに char が含まれています。

もちろん、結局ゼロ幅であるため、Visual Studio でその char を表示することはできません。Notepad++ を使用してみて、特殊文字も表示するように構成してください。または、16 進エディタを使用します。

于 2012-06-04T14:58:50.250 に答える
0

ItemTemplate で、タグを並べて配置します。

<ItemTemplate​&gt;<li></li><ItemTemplate>

于 2012-06-04T14:44:50.903 に答える