2011-06-02 13 views
0

メインページにドロップダウンリストボックスを持つポップアップダイアログボックスを起動するボタンと同じページにドロップダウンリストボックスがあります。 1番目のリストボックスコントロールの選択されたインデックスが、ポップアップダイアログボックスのドロップダウンリストボックスと同期する必要があります。ポップアップダイアログは最初の起動後に再描画されません

私は、ViewDataオブジェクトのインデックスをポップアップによって取得するように設定し、アプリケーションの最初の起動時に動作するコードをコントローラに追加しました。私の問題は、その後のポップアップダイアログの起動がViewDataを使用してインデックスを設定するための対応するコードにヒットしないことです。実行する必要のあるコードは次のとおりです。ASP.NETの背景から来る

<%= Html.Telerik().DropDownList() 
         .Name("DataStoreTypeId") 
         .BindTo(new SelectList(Model.DataStoreTypes, "DataTypeId", "Name",Model.DataTypeSelectedId)) 
         .HtmlAttributes(new { style="width:205px }) 
         .SelectedIndex((int)ViewData["SelectedIndex"]) 
       %> 

は、私はメカニズムがアクションのこれらのタイプを処理するようポストバックを持つことに慣れていますが、MVCは最適ですポストバックイベントをトリミングしていますコード実行を強制する私のオプションは何ですか?

他の代替手段を使用する必要がありますか?

+0

Html.DropDownListで動作しますか? –

答えて

1

初めて値がサーバー側に設定されているため、初めて動作します。ブラウザにレンダリングされると、サーバー側は残っていません。最初のドロップダウンリストの横にあるボタンクリックイベントで、選択した値のドロップダウンリストを手動で変更する必要があります(最初のDDもドロップダウンまたはHTMLです)。 telerikドロップダウンのクライアントイベントについては、をご覧くださいTelerik Demos for asp.net mvc

+0

ヒントありがとうございました。はい、1番目のDDもテレリクコントロールです。あなたが提供したリンクは良いリソースですが、私は自分の質問への回答の欠如、あなたの説明、リンクを見た後に、私が探している行動を達成する方法がないと信じています。私の唯一の選択肢は、動作させるためのハックを見つけることだと思います。使用可能なイベントのいずれも、サーバーへのポストバックにより、最初にドロップダウンリストの新しく選択されたインデックスを取得できません。私はなぜTelerik MVCのコントロールが無料であるかを見ています。 :-) – Mark

+0

@Markはあまりにもすぐに失望します。 mvc用のTelerikコントロールは素晴らしいです、私は私の経験に基づいて伝えることができます。ポストバックは、コントロールの値を設定する唯一の方法ではありません。 mvcでは、クライアントサイドの操作のためにJavaScriptをいくつか学ぶ必要があります。 –

関連する問題