0

MVC ビューにドロップダウンがあります。これは次のようなものです。

Html.DropDownList(id, Range(0,10)
                        .Select(x => new SelectListItem {Text = x, Value = x}))

ビュー自体では、このドロップダウンで選択した値が必要です。JavaScriptでアクセスできることは知っていますが、ドロップダウンプロパティなどからビュー自体で取得する方法を探しています。

どうすればアクセスできますか? インテリセンスから何かを理解しようとしましたが、関連するものは何も表示されませんでした。助けていただければ幸いです。

編集:ドロップダウンの宣言の数行後に値が必要です.JavaScriptからアクセスでき、フォームを投稿することで、ビュー自体にアクセスする方法はありませんか?

Edit2:ビューでアクセスできない場合は、その理由を説明してください。私はそれを知りたいと思っています。

ありがとう。

4

4 に答える 4

1

あなたの質問を読んだ後、ドロップダウンリストに同じページの下部セクションの値を提供させたいようです。

何よりもまず、DropDownList を次のようにフォーム コンストラクト内に配置する必要があります。

<% using (Html.BeginForm("ProcessValue", "ThisPage")) { %>
    <%= Html.DropDownList("DropID", Range(0, 10).Select(a=>new SelectListItem { Text = x, Value = x }) %>
    <input type=submit value="Submit" />
<% } %>

事前にいくつかの設定を行う必要があります。

  1. DropID 変数の値を取得するには、送信ボタンまたは同様の構造が必要です。
  2. 値の処理を処理するコントローラー メソッドを設定し、ページの ViewData で選択した値を使用して元のページにリダイレクトする必要があります。
  3. 最後に、DropID 変数に有効な値がある場合にのみ後処理セクションが表示されるように、ビューを設定する必要があります。

ビューに DropDownList を配置し、後でその値をページで使用するだけでは簡単ではありません。データ転送を管理するためにコントローラーを関与させる必要があり、単一のビューを設定して複数の状態を処理する必要があります (つまり、値が選択される前と選択が行われた後)。

于 2009-12-27T02:25:37.197 に答える
1

選択した値を取得するには、javascript または選択ボックスを含むフォームが送信されるコントローラー アクションを使用できます。

于 2009-12-26T17:41:10.003 に答える
0

SelectListクラスもあり、アイテムが選択されるかどうかを定義できます。これを知っていると、選択された値がわかります。また、値が明示的に選択されていない場合、ドロップダウンはリストの最初のアイテムを選択する傾向があります。 。

于 2009-12-27T01:29:04.130 に答える
0

選択された値は、このビューからフォーム送信を受信するコントローラー アクション内のドロップダウンの ID の名前を持つ FormCollection または QueryString コレクション内にあります。従来の POST または GET または AJAX を使用して値を送信できますが、その入力を処理するサーバー側のアクションを接続する必要があります。

于 2009-12-26T17:48:27.557 に答える