2015-10-18 56 views
1

我有HTML下拉ASP.NET下拉傳遞null值控制器動作

@using (Html.BeginForm("SetCulture", "Home")) 
{ 
    <fieldset> 
     <select id="lngSelect" class="form-control"> 
      <option name="culture" id="en-us" value="en-us">Eng</option> 
      <option name="culture" id="es" value="es">Es</option> 
      <option name="culture" id="ar" value="ar">Ar</option> 
     </select> 
    </fieldset> 
} 

jQuery腳本

<script type="text/javascript"> 
    (function ($) { 
     $("#lngSelect").change(function() { 
      $(this).parents("form").submit(); // post form 
     }); 
    })(jQuery); 

和控制器動作

public ActionResult SetCulture(string culture) 
{ 
    ... 
} 

我需要傳遞價值選擇的選項到控制器,但傳遞的值是null而不是en-us,es,ar ...我試圖將控制器參數的名稱更改爲「id」an d「值」,但在控制器中仍爲零..

有人可以幫我解決這個問題嗎?

回答

2

name屬性應該是select本身,而不是對option

<select name="culture" id="lngSelect" class="form-control"> 
    <option id="en-us" value="en-us">Eng</option> 
    <option id="es" value="es">Es</option> 
    <option id="ar" value="ar">Ar</option> 
</select> 
1

<select>沒有name屬性,所以不存在名稱/值對提交。將其更改爲

<select id="lngSelect" name="culture" class="form-control"> 
    .... 
</select> 
相關問題