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

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

Susan Sarandon
Susan Sarandonオリジナル
2025-01-14 07:48:46707ブラウズ

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

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

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

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

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

<code class="language-csharp">string strDDLValue = Request.Form["ddlVendor"].ToString();</code>

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

<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV, FormCollection form)
{
  string strDDLValue = form["ddlVendor"].ToString();
  return View(MV);
}</code>

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

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

<code class="language-csharp">public class MobileViewModel 
{          
    public List<tbinsertmobile> MobileList;
    public SelectList Vendor { get; set; }
    public string SelectedVendor {get;set;}
}</code>

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

<code class="language-csharp">@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")</code>

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

<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV)
{           
   string SelectedValue = MV.SelectedVendor;
   return View(MV);
}</code>

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

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

<code class="language-csharp">public class MobileViewModel 
{          
    public List<tbinsertmobile> MobileList;
    public SelectList Vendor { get; set; }
    public string SelectVendor {get;set;}
    public string SelectedvendorText { get; set; }
}</code>

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

<code class="language-javascript">$(function(){
$("#SelectedVendor").on("change", function() {
   $("#SelectedvendorText").val($(this).text());
 });
});

@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")
@Html.HiddenFor(m=>m.SelectedvendorText)</code>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。