0

new ListItem("", "-1",true))jQueryのようにfromコードビハインドを追加せずに-1インデックスを選択する方法はありますか?

次に例を示します。

http://jsfiddle.net/eL8sn/

4

3 に答える 3

0

あなたはこれを行うことができます

文字列 selectStr = "SELECT"; 文字列 allStr = "ALL"

ListItem allLI = 新しい ListItem(allStr,allStr);
ListItem selectLI = 新しい ListItem(selectStr,selectStr);

DropDownList.Items.Add(selectLI); DropDownList.Items.Add(allLI);

//クエリが返すリストで DropDownList を埋めるコード

DropDownList.SelectedValue = selectStr;

于 2013-02-16T06:24:11.173 に答える
0

こんな感じですか?

DropDownList1.SelectedIndex = -1;

これは通常、コード ビハインドから実行する方法です。

ETA: おっしゃっていることがわかりました。残念ながら、サーバー側からそれを行う方法がわかりません。サーバー側でできることは、レンダリングを制御することだけです。私が知る限り、このコードをレンダリングしたとしても:

<select id="testSelect" selectedIndex="-1">

...一番上のオプションが選択されているように見えます。

レンダリング後にjavascriptで明示的に-1に設定するだけで、何も選択されていないように見えます。HTML で宣言的に行うことができないかのように見えます。

ロード時にこのように表示されるように HTML でタグを記述する方法を見つけることができれば、コード ビハインドでレンダリングを微調整することができます (使用.AddAttribute()または同様のものを使用) が、宣言で実行できない場合は、' JavaScriptが必要です。

(もちろん、すべてのドロップダウンを selectedIndex = -1 に変更する jQuery スニペットを作成することもできますが、それについて考えたことがあるでしょう!)

于 2013-02-15T14:36:39.497 に答える
0

Page_Loadイベントにバインドしている場合は、ポストバックを行います(AutoPostBack='True')。インデックスが変更されるたびに再バインドされます。

if (!IsPostBack)
{  
    BindDropDownList1();      
}

(また)

上記の解決策が機能しない場合は、次のように空のアイテムを追加してみてください。

this.myDropDownList.Items.Add(new ListItem("Select...", ""));
于 2013-02-15T14:43:32.573 に答える