假設您在名爲group_id
這樣的表單中有一個窗體域,您要設置從下拉列表那場因某種原因選擇的值,
@Html.HiddenFor(s=>s.group_id)
<div class="form-group">
@Html.DropDownList("groups",new SelectList(string.Empty, "Value", "Text"), "Choose...")
</div>
你可以聽的變化下拉的事件,並獲得選擇的選項值並設置爲GROUP_ID
$(function(){
$("#groups").change(function(e){
var v=$(this).val();
$("#group_id").val(v);
});
});
我不知道你爲什麼加載通過JavaScript的下拉菜單的內容,但也有其他更好的方法來呈現一個下拉列表,選擇通過價值回到你的身上如this post中所解釋的。
一個SelectedGroup
屬性添加到您的視圖模型
public class CreateSomethingViewModel
{
public int SelectedGroup {set;get;}
public List<SelectListItem> Groups {set;get;}
}
,並在你的GET操作,如果要加載組,你可以做到這一點
public ActionResult Create()
{
var vm = new CreateSomethingViewModel();
//Hard coded for demo. You may replace with your db entries (see below)
vm.Groups = new List<SelectListItem> {
new SelectListItem { Value="1","Chase bank" },
new SelectListItem { Value="2","PNCbank" },
new SelectListItem { Value="3","BOA" }
};
return View(vm);
}
而且在你看來
@model CreateSomethingViewModel
@using(Html.BeginForm())
{
@Html.DropDownListFor(s=>s.SelectedGroup,Model.Groups)
<input type="submi" />
}
有了這個,你不需要使用任何js代碼(即使你加載下拉續ent通過JavaScript),當用戶更改下拉選項值時,它將被設置爲SelectedGroup
屬性的值。
[HttpPost]
public ActionResult Create(CreateSomethingViewModel model)
{
// check model.SelectedGroup
// to do : Save and return/redirect
}
這不是C#;這是Javascript和Razor和Bootstrap。 –
控制器是在C#中,我問了有關控制器。 – stkvhw
你是谷歌嗎?你可以使用DropDownListFor? –