我有html下拉列表
@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”和“value”,但仍然在控制器中它是空的。
有人可以帮我解决这个问题吗?
答案 0 :(得分: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 :(得分:1)
您的<select>
没有name
属性,因此没有要提交的名称/值对。将其更改为
<select id="lngSelect" name="culture" class="form-control">
....
</select>