2013-02-04 96 views
0

我需要綁定html選擇選項中的值,並且我在C#模型中具有值。我該怎麼做呢?我的HTML代碼:如何在html選項中綁定值?

<div class="Div"><span class="label2">values:</span> 
    <select id="Binding_values" onchange="values()></select></div> 

回答

1

假設你有一個視圖模型:

public class MyViewModel 
{ 
    public string SelectedValue { get; set; } 
    public IEnumerable<SelectListItem> Items { get; set; } 
} 

和控制器動作,將填充此視圖模型,並將其傳遞給視圖:

public ActionResult Index() 
{ 
    var model = new MyViewModel(); 
    model.Items = new[] 
    { 
     // TODO: those values could come from a database for example 
     new SelectListItem { Value = "1", Text = "item 1" }, 
     new SelectListItem { Value = "2", Text = "item 2" }, 
     new SelectListItem { Value = "3", Text = "item 3" }, 
    }; 
    return View(model); 
} 

內您可以使用DropDownListFor幫手的相應強類型視圖:

@model MyViewModel 
... 
@using (Html.BeginForm()) 
{ 
    @Html.DropDownListFor(x => x.SelectedValue, Model.Items) 
    <button type="submit">OK</button> 
} 

,如果這個下拉是一個HTML內張貼回控制器,你可以有一個動作,將檢索從模型中選擇的值:

[HttpPost] 
public ActionResult Index(MyViewModel model) 
{ 
    // model.SelectedValue will contain the selected value from the dropdown list here 
    ... 
} 

假設你要選擇的值發送到服務器改變在下拉列表中選擇不點擊窗體上後,立即提交按鈕,你可以給這個下拉列表一個唯一的ID:

@Html.DropDownListFor(x => x.SelectedValue, Model.Items, new { id = "myDdl" }) 

,然後使用jQuery訂閱.change()事件此下拉和提交包含表單:

$(function() { 
    $('#myDdl').change(function() { 
     $(this).closest('form').submit(); 
    }); 
}); 
+0

我認爲它的寫法,但js在哪裏? – user279

+0

理想情況下,在一個單獨的JavaScript文件。你可以添加一個你會參考的自定義js文件:''。 –

+0

它不是,我需要鋤頭喲鏈接C#和html.droplist?我正在使用mvc4格式。我通過javscript post方法收集價值 – user279

相關問題