在下拉列表中选择默认值并通过ID MVC下拉列表

问题描述 投票:0回答:1

我使用了用于下拉列表的模型,

> public class Items
>     {
>         public int itemcategoryid { get; set; }
>         public string itemcategory { get; set; }
>         public int Itemsubcategoryid { get; set; }
>         public string Itemsubcategoryname { get; set; }
>     }

和控制器代码下方

>             ItemViewModel catVM = new ItemViewModel();
>             List<Items> catlist = catVM.GetCategoryInfo();
>             ViewBag.categorylist = catlist;

使用HTML代码下方的绑定下拉列表后,该下拉列表已填充并选择默认名称作为itemcategory,但未传递itemcategory的ID,仅传递了POST的itemcategory名称。

 @Html.DropDownListFor(model => model.itemcategory, new SelectList(ViewBag.categorylist, "itemcategory", "itemcategory",  Model.itemcategory))

如果我在HTML代码下面使用其通过值,但未选择默认名称,则>]

  @Html.DropDownListFor(model => model.itemcategory, new SelectList(ViewBag.categorylist, "itemcategoryid", "itemcategory", Model.itemcategory))

使用下面的代码检索数据

using (OracleCommand cmd = new OracleCommand("PS_Category", conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    conn.Open();
                    OracleDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Items listitems = new Items(); ;
                        listitems.itemcategoryid = Convert.ToInt32(reader["CATID"]);
                        listitems.itemcategory = reader["CATNAME"].ToString();
                        items.Add(listitems);
                    }
                }

实际上我想选择默认名称并传递其ID怎么可能呢?

我使用了下拉列表的模型,>公共类Items> {> public int itemcategoryid {get;组; }>公用字符串itemcategory {get;组; }> ...

asp.net-mvc model-view-controller razor dropdown html-select
1个回答
0
投票

之前曾在这里回答过,但有些人报告说这对他们不起作用;@Html.DropDownListFor how to set default value

© www.soinside.com 2019 - 2024. All rights reserved.