Asp.net mvc 3 将下拉选择的值绑定到模型特性

Asp.net mvc 3 将下拉选择的值绑定到模型特性,asp.net-mvc-3,Asp.net Mvc 3,可能我只是不知道如何用谷歌搜索,但我正在尝试找到一个例子,其中下拉控件是绑定到集合的数据(这部分对我有用),然后我想将下拉选择读回变量中。此变量可以是模式上的属性。将下拉选择的值绑定回变量就是我要做的事情。在web表单世界中,这没什么大不了的,但由于某些原因,我无法使它与MVC3一起工作。任何代码示例或示例都将受到高度赞赏。在ASP.NET MVC中,建议使用视图模型。设计dropdownlist时,此视图模型需要两个属性:一个用于将选定值绑定到,另一个表示用于生成选项的值和文本集合。然后可以使

可能我只是不知道如何用谷歌搜索,但我正在尝试找到一个例子,其中下拉控件是绑定到集合的数据(这部分对我有用),然后我想将下拉选择读回变量中。此变量可以是模式上的属性。将下拉选择的值绑定回变量就是我要做的事情。在web表单世界中,这没什么大不了的,但由于某些原因,我无法使它与MVC3一起工作。任何代码示例或示例都将受到高度赞赏。

在ASP.NET MVC中,建议使用视图模型。设计dropdownlist时,此视图模型需要两个属性:一个用于将选定值绑定到,另一个表示用于生成选项的值和文本集合。然后可以使用第一个属性预选给定选项

因此,我们从设计视图模型开始:

public class MyViewModel
{
    public string SelectedId { get; set; }
    public IEnumerable<SelectListItem> Items { get; set; }
}
public ActionResult Index()
{
    var model = new MyViewModel
    {
        // preselect the second item which has value=2
        SelectedId = "2",

        Items = new[]
        {
            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
helper生成下拉列表:

@model MyViewModel
@Html.DropDownListFor(
    x => x.SelectedId, 
    Model.Items,
    "-- Select an Item --"
)

在ASP.NET MVC中执行此操作的推荐方法是使用视图模型。设计dropdownlist时,此视图模型需要两个属性:一个用于将选定值绑定到,另一个表示用于生成选项的值和文本集合。然后可以使用第一个属性预选给定选项

因此,我们从设计视图模型开始:

public class MyViewModel
{
    public string SelectedId { get; set; }
    public IEnumerable<SelectListItem> Items { get; set; }
}
public ActionResult Index()
{
    var model = new MyViewModel
    {
        // preselect the second item which has value=2
        SelectedId = "2",

        Items = new[]
        {
            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
helper生成下拉列表:

@model MyViewModel
@Html.DropDownListFor(
    x => x.SelectedId, 
    Model.Items,
    "-- Select an Item --"
)

可以按如下方式绑定模型中的下拉列表值:

public virtual SelectList ddlvalue
        {
            get
            {
                List<SelectListItem> list = new List<SelectListItem>();
                list.Add(new SelectListItem() { Text = "Yes", Value = "Y" });
                list.Add(new SelectListItem() { Text = "No", Value = "N" });
                return new SelectList(list, "Value", "Text");
            }
            set { }
        }
公共虚拟选择列表值
{
得到
{
列表=新列表();
添加(新建SelectListItem(){Text=“Yes”,Value=“Y”});
添加(新的SelectListItem(){Text=“No”,Value=“N”});
返回新的SelectList(列表,“值”、“文本”);
}
集合{}
}

您可以在模型中绑定下拉列表值,如下所示:

public virtual SelectList ddlvalue
        {
            get
            {
                List<SelectListItem> list = new List<SelectListItem>();
                list.Add(new SelectListItem() { Text = "Yes", Value = "Y" });
                list.Add(new SelectListItem() { Text = "No", Value = "N" });
                return new SelectList(list, "Value", "Text");
            }
            set { }
        }
公共虚拟选择列表值
{
得到
{
列表=新列表();
添加(新建SelectListItem(){Text=“Yes”,Value=“Y”});
添加(新的SelectListItem(){Text=“No”,Value=“N”});
返回新的SelectList(列表,“值”、“文本”);
}
集合{}
}