2013-02-04 63 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

相关问题