2017-02-23 9 views
-1

コントローラHTTPPOSTで選択された値を受信いけないこのMVCフォームビュー2のDropDownListで見るが、私が選択した受信いけないのと同様に私は、ビューの2のDropDownListを持っていますが、私は私が持っている

@using (Html.BeginForm("KPI", "KPI", FormMethod.Post, new { @class = "formulario" })) 
       { 
        @*@Html.AntiForgeryToken()*@ 
        <div class="form-group"> 
         <div class="input-group"> 
          <div class="input-group-addon"> 
           <i>Año</i> 
          </div> 
          @Html.DropDownList("AnosList", (IEnumerable<SelectListItem>)ViewData["AnosList"], new { @class = "form-control pull-right", @id = "AnosListId", @style = "color:black;" })   
         </div><!-- /.input group --> 
         <div class="input-group"> 
          <div class="input-group-addon"> 
           <i>Mes</i> 
          </div> 
          @Html.DropDownList("Meses", (IEnumerable<SelectListItem>)ViewData["Meses"], new { @class = "form-control pull-right", @id = "MesId", @style = "color:black;" }) 
         </div><!-- /.input group --> 
        </div><!-- /.form group --> 
        <div class="row"> 
         <div class="col-xs-12"> 
          <button type="submit" class="btn btn-primary btn-block btn-flat"><i class="fa fa-search"></i> Buscar</button> 
         </div><!-- /.col --> 
        </div> 
       } 

HTTPPOST

エン値は、Webエクスプローラ

でHTMLを見ることができ、ここで、私を助けてください

enter image description here

そして、このようなコントローラーで受信しようとします。

[HttpPost] 
     public ActionResult KPI(string AnosListId, string MesId) 
     { 
      //Do Something here with the values 
     } 

答えて

1

あなたのアクションメソッドのパラメータ名は、HTML要素属性値と一致する必要があります。

あなたの現在のコードは、名前「AnosList」と「Meses」で2 select要素を生成

だからあなたのアクションメソッドのパラメータ名を修正。

[HttpPost] 
public ActionResult KPI(string AnosList, string Meses) 
{ 
    //Do Something here with the values 
} 

フォームが送信されると、ブラウザは要素名とともに要素値を送信します。

+0

ありがとう、私はポストコントローラが名前ではなく要素のIDを受け取ったと思っています。今これはうまく動作します。ドミニカ共和国からの敬意。 –

関連する問題