1

LINQ クエリから作成された DropDownList があります。このプロジェクトの設計要件に従って、DDL の ListItem.Text に 4 つの " " を追加する必要があります。

次のように ListItems を手動で追加すると機能します。

<asp:ListItem Value="NULL">&nsbp;&nsbp;&nsbp;&nsbp;Select One</asp:ListItem>

ただし、 DataBind() を使用して次を使用する場合はそうではありません。

DataTextFormatString = "&nsbp;&nsbp;&nsbp;&nsbp;{0}";

どんな助けでも大歓迎です。

AND: 誰かが HTML コードについて何か言う前に、私はそれを「&nsbp;」と呼ぶ必要がありました。Non-Breaking Space char コードを使用できないためです。

ありがとう!

4

3 に答える 3

1
DropDownList ddl = new DropDownList();
ddl.Items.Add(new ListItem(Server.HtmlDecode("& n b s p;&n b s p ;& n b s p ;&n bs p;abc"), "abc"));

お役に立てれば !

注:文字間のスペースを削除してください。

于 2009-02-13T17:48:35.237 に答える
0

私はこれを見てきましたが、「すぐに使える」ドロップダウンリストコントロールを取得して、やりたいことを実行できるとは思いません。

問題は、コントロールにバインドするテキスト値が自動的に html エンコードされることです。これは、「 」常に「&nbsp;」に変換されます。これは、「 」を追加するかどうかに関係なく発生します。コントロールにバインドする前に、または DataTextFormatString プロパティを介してデータ ソースのテキスト値に変換します。

これは、不正な html がページにレンダリングされたときにコントロールを壊すのを避けるために行われると思います。

ある種のカスタム コントロールに関するJames の提案は、探している機能を取得するためのおそらく最良の方法だと思います。

于 2009-02-13T17:42:41.833 に答える
0

私が考えられる唯一のことは、ドロップダウン リスト コントロールをサブクラス化し、render メソッドをオーバーライドして、基本ドロップダウン リスト コントロールがアイテム コレクションで行っているトリミングを回避できないかどうかを確認することです。

サブクラス化が面倒な場合は、クライアント側の Javascript コードを使用して、ページの読み込み時にそれらの項目を更新します。これは、JQuery を使用すると簡単に実行できます。それが役立つことを願っています。

于 2009-02-13T17:23:28.417 に答える