2009-07-30 19 views
1

autopostback = trueを指定しないでドロップダウンリストを使用する方法。ASP.NET VS2008 C# - ドロップダウンリスト - ポストバック

クライアント側から選択した値によって、サーバー上の値が変更されていません。私がすでに述べたように、私はドロップダウンごとに私はautopostbackがポストバックを引き起こすことを望んでいません。

答えて

2

中に再度、私はそれがあるドロップダウンの値を失っている任意の時間ではなく、最初のページのロード時にオプションで選択ボックスを充填し、されていることを確認する必要がありますなぜなら、値の変更を処理する前にドロップダウンしてしまったからです。私にとっては、Javascriptなどの項目属性を追加するような特別な処理が必要なドロップダウンです。これは、すべてのページの読み込み時に追加する必要のあるデータです(データはドロップダウンリストに各項目の名前と値)。このような場合は、ロード時にこの作業を行った後、ページライフサイクルとDOHで値を取得しようとします。

http://msdn.microsoft.com/en-us/library/ms178472.aspx

ドルで何が起こっているかであるドーナツに:ここでは

は、ページのライフサイクルがあります。値を取得するために使用しているポストバックイベントを処理する前に、アイテムをリロードするだけです。これを実行していて、このワークフローを回避できない場合は、選択したインデックスをロジックの冒頭に保存してドロップダウンを入力し、ドロップダウンの選択されたインデックスをその値で設定します。あなたは右のリクエストオブジェクトから値をつかむことができ

2

これはviewstateに保存されるため、最終的にポストバックするときに値が正しくなり、ポストバックなしで現在の値を取得することが本当に必要な場合は、javascriptがこれを行う方法になります。

+0

あなたは私はJavaScriptでこれを実装することができますどのように任意の例をお持ちですか? –

+0

http://blog.techsaints.com/2007/05/06/javascript-how-to-get-selected-item-in-dropdown-select-list/良い例ですが、コードを投稿するだけですがそれはだまされている=] –

0

あなたが唯一のポストバック

if (!this.Page.IsPostBack) { 
    //fill select box here 
} 
1

最悪の場合:

string selectedID = Request[DropdownControl.UniqueID]; 
関連する問題