Asp.net mvc 3 如何制作dropdownlist

Asp.net mvc 3 如何制作dropdownlist,asp.net-mvc-3,razor,drop-down-menu,Asp.net Mvc 3,Razor,Drop Down Menu,如何制作下拉列表?[已编辑-几乎可以工作的代码] 视图: 它几乎起作用了。。。 我只有一个问题(我希望)。。。 值是字符串,我将他的值保存到数据库中。。。(我现在不知道怎么写…) prod.ID\u firma=model.ID\u firma prod.ID\u firma是int。model.ID\u firma是这个字符串值。所以我有一个错误: 错误1无法将类型“string”隐式转换为“int” 稍微更改一下您的模型,我假设列名会根据您的代码进行更改 public class pr

如何制作下拉列表?[已编辑-几乎可以工作的代码]

视图:

它几乎起作用了。。。 我只有一个问题(我希望)。。。 值是字符串,我将他的值保存到数据库中。。。(我现在不知道怎么写…)

prod.ID\u firma=model.ID\u firma

prod.ID\u firma是int。model.ID\u firma是这个字符串值。所以我有一个错误:

错误1无法将类型“string”隐式转换为“int”


稍微更改一下您的模型,我假设列名会根据您的代码进行更改

   public class produktModel
        {
            [Required]
            public string name { get; set; }
            public decimal price { get; set; }
            [Required]
            public int companyID {get; set;}
            public List<Company> compList {get; set;} 
        }

    public class Company{
        public int CompanyID {get;set;}
        public string CompanyName {get;set;}
       }
在您的(强类型)视图中

@model produktModel
....
单位
@Html.DropDownListFor(model=>model.companyID,
新建SelectListItem(model.compList,
“公司ID”,
“公司名称”))
@Html.ValidationMessageFor(model=>model.company\u name)
...

你的问题不够清楚。
您可以通过任何方式使用telerik combox\下拉列表或默认mvc下拉列表。你可以在谷歌上找到很多这样的例子

用Telerik写下如下内容:

@(Html.Telerik().ComboBox()
            .Name("ComboBox")
            .BindTo(new SelectList("CompanyID", "CompanyName")))

有关更多信息,请参阅

我这样做了,但在查询.ToList()时出错<代码>无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.IList”。存在显式转换(是否缺少转换?下一个错误<代码>无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.List”重复此操作,我在另外两个命名空间中有两个相同的名称。。。。但现在在运行过程中,我遇到了一个应用程序错误:编译器错误消息:CS1729:u'System.Web.Mvc.SelectListItem'不包含接受3个参数的构造函数u源错误:`@Html.DropDownListFor(model=>model.ID\u firma,new SelectListItem(Model.firmaList,“ID_Firma”,“nazwa_firmy”),“--Select——”`我用另一种方式写了dropdownlist代码,现在几乎可以工作了……我在第一篇文章中编辑了我的代码
 public ActionResult dodaj()
    {

        var firma = baza.Firmas;
        var model = new produktModel
        {
            firmaList = firma.AsEnumerable().Select(x => new SelectListItem
            {
                Value = x.ID_firma.ToString(),
                Text = x.nazwa
            })
        };

        return View(model);
    }

    [HttpPost]
    public ActionResult dodaj(produktModel model)
    {

        Produkt prod = new Produkt();

        prod.nazwa = model.nazwa;
        prod.ilosc = model.ilosc;
        prod.jednostka = model.jednostka;
        prod.cena = model.cena;
         prod.ID_firma = model.ID_firma;  


        baza.Produkts.InsertOnSubmit(prod);
        baza.SubmitChanges();

        return RedirectToAction("zarzadzaj_produktami", "Produkt");
    }
   public class produktModel
        {
            [Required]
            public string name { get; set; }
            public decimal price { get; set; }
            [Required]
            public int companyID {get; set;}
            public List<Company> compList {get; set;} 
        }

    public class Company{
        public int CompanyID {get;set;}
        public string CompanyName {get;set;}
       }
public ActionResult add()
        {
            produktModel model = new produktModel();
            model.compList= (from b in base.Companies
                               select new Company{
                                 CompanyID = b.CompanyID,
                                 CompanyName = b.CompanyName
                                }).ToList();

            return View(model);
        }
@model produktModel

....
<div class="editor-label">
            Company
 <div class="editor-field">
            @Html.DropDownListFor(model => model.companyID,
                                new  SelectListItem(model.compList,
                                           "CompanyID ",
                                           "CompanyName "))
            @Html.ValidationMessageFor(model => model.company_name)
        </div>
...
@(Html.Telerik().ComboBox()
            .Name("ComboBox")
            .BindTo(new SelectList("CompanyID", "CompanyName")))