ホームページ > バックエンド開発 > C++ > MVCコントローラーのドロップダウンリストから選択された値を取得するにはどうすればよいですか?

MVCコントローラーのドロップダウンリストから選択された値を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-14 07:48:46
オリジナル
762 人が閲覧しました

How to Get the Selected Value from a DropDownList in an MVC Controller?

MVC コントローラーのドロップダウン リストの SelectedValue を取得します

MVC アプリケーションでは、データベースからドロップダウン リストに値を割り当てるのは非常に一般的なシナリオです。ただし、フォームを送信するときは、コントローラーで選択した値にアクセスする必要があります。この記事では、これを実現するための 2 つの方法を説明します。

方法 1: Request または FormCollection を使用する

最初のメソッドは、選択された値をリクエストから直接読み取ります。 Request.Form を使用すると、ドロップダウンのキー (この場合は ddlVendor) を指定して、投稿された値を取得できます:

string strDDLValue = Request.Form["ddlVendor"].ToString();
ログイン後にコピー

または、FormCollection を使用することもできます:

[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV, FormCollection form)
{
  string strDDLValue = form["ddlVendor"].ToString();
  return View(MV);
}
ログイン後にコピー

方法 2: モデルを使用する

モデル バインディング メソッドの場合、モデルにプロパティを追加します。

public class MobileViewModel 
{          
    public List<tbinsertmobile> MobileList;
    public SelectList Vendor { get; set; }
    public string SelectedVendor {get;set;}
}
ログイン後にコピー

ビューで、@Html.DropDownListFor を使用してドロップダウン リストをモデルにバインドし、SelectedVendor プロパティを指定します。

@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")
ログイン後にコピー

最後に、コントローラーで、SelectedVendor プロパティを介して選択された値にアクセスできます。

[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV)
{           
   string SelectedValue = MV.SelectedVendor;
   return View(MV);
}
ログイン後にコピー

更新: 選択したテキストを投稿

選択した値とそれに対応するテキストの両方をキャプチャするには、ビューに非表示フィールドを追加します。

public class MobileViewModel 
{          
    public List<tbinsertmobile> MobileList;
    public SelectList Vendor { get; set; }
    public string SelectVendor {get;set;}
    public string SelectedvendorText { get; set; }
}
ログイン後にコピー

ビューで、JavaScript を使用して、非表示フィールド内の選択されたアイテムのテキストを更新します:

$(function(){
$("#SelectedVendor").on("change", function() {
   $("#SelectedvendorText").val($(this).text());
 });
});

@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")
@Html.HiddenFor(m=>m.SelectedvendorText)
ログイン後にコピー

以上がMVCコントローラーのドロップダウンリストから選択された値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート