Asp.net 带下拉列表的Razor表单

Asp.net 带下拉列表的Razor表单,asp.net,html,razor,Asp.net,Html,Razor,请帮助我了解如何构造此。 INet上的每个人和每个示例似乎都认为Razor v3 asp.net表单页面的唯一目的是利用DropDownList,除了在没有任何其他上下文的情况下在页面上显示下拉列表之外,没有其他用途 我正在做的是建立一个数据输入页面,让用户能够创建一个项目的记录。。。想想铅笔、袜子或汽车。。。在数据库中。两个,但不是唯一的,一个项目的属性是1)它的订单数量{1,2,3,…}和…这里是我的麻烦开始。。。2) 它是计量单位,计量单位,{每个,箱子,重量,} 我有一个页面,其中包含该

请帮助我了解如何构造此。 INet上的每个人和每个示例似乎都认为Razor v3 asp.net表单页面的唯一目的是利用DropDownList,除了在没有任何其他上下文的情况下在页面上显示下拉列表之外,没有其他用途

我正在做的是建立一个数据输入页面,让用户能够创建一个项目的记录。。。想想铅笔、袜子或汽车。。。在数据库中。两个,但不是唯一的,一个项目的属性是1)它的订单数量{1,2,3,…}和…这里是我的麻烦开始。。。2) 它是计量单位,计量单位,{每个,箱子,重量,}

我有一个页面,其中包含该项目的模型。这个很好用。现在我正在尝试将页面上的UOM字段从TextBoxFor()更改为DropDownList()


如何使用基于UOMModel的谨慎选项列表填充下拉列表,其中页面基于ItemModel?

正如@Brian Mains在其评论中所说,您需要将数据转换为
SelectList
类,以便与
DropDownList
一起使用。您可以这样做:

    public SelectList GetSelectList(List<UOMModel> model)
    {

        var selectListItem = new List<SelectListItem>();

        foreach (var item in model)
        {
            selectListItem.Add(new SelectListItem { Value = item.Value, Text = item.Text});
        }

        return new SelectList(selectListItem, "Value", "Text");
    }

请提供您正在使用的代码,代码长度为100行。我现在的位置是ItemModel类现在有一个ListGetOptions()方法。该方法调用UOMModel.GetAllOptions()。该页面使用ItemModel~因此现在将该页面作为对列表的访问。那么,我如何将列表放入DropDownList的@Html?DropDownList或DropDownListFor使用SelectListItem对象的列表-只需将数据转换为SelectListItem对象,并将其设置为视图中列表的源…演示?我想今天我的脑子坏了。是ItemModel公共虚拟列表GetAllOptions(){UOMOptions o=new UOMOptions();return o.GetAllOptions();}//它是“虚拟的”,因为我使用的是nhibernateOh!天哪。我唯一想做的就是使用ViewBag。谢谢你!!我在想,必须有一些不使用foreach()的实现。但好吧。不客气,伙计,如果有用的话,记得投赞成票;)超级投票给你。谢谢就像一个符咒。但愿我不用花这么长时间才回到这件事上来。
//Action
ViewBag.UOMList = GetSelectList(UOMList);

//View
@Html.DropDownList("UOM", ViewBag.UOMList as SelectList, new { })