创建下拉列表时如何为 selectlistitem 添加文本和值

How can I add tow text and value for selectlistitem when I create a dropdownlist

我在 ASP.NET MVC 5 中遇到有关数据表示的问题。

我尝试通过数据库查询设置 DropDownList,但是当它运行时,它显示的值类似于

{ resht_Name="my data", code_resht="my data", ..... } 

我只想查看我的数据。

我有这个控制器:

string Txt_UserName = (Session["Index"]).ToString();
var list = new List<SelectListItem>();

var school_resh = (from a in Df.Schl_reshte
                   join b in Df.reshtes on a.code_reshte equalsb.code_reshte
                   where a.id_school.Equals(Txt_UserName)
                   select new { b.reshte_name, b.code_reshte, a.maghta, a.id_reshschl
        }).Distinct().ToList();

foreach (var item in school_resh)
{
    SelectListItem temp = new SelectListItem();
    temp.Text = item.ToString();
    temp.Value = item.ToString();
    list.Add(temp);
}

ViewData["schl_resh"] = list;"

查看:

@Html.DropDownList("school_reshte", ViewData["schl_resh"] as List<SelectListItem>, "--select--",new { @class = "dropdown1" })
 public List<SelectListItem> Travel_Agent()
        {
            var unitcode = Convert.ToInt32(HttpContext.Session.GetString("UnitCode"));
            string sqlquery = "  select supp_code,supp_name from li_supplier_msts  ";
            DataTable dtDRP_VALUE = _context.GetSQLQuery(sqlquery);
            List<SelectListItem> DRP_VALUE = new List<SelectListItem>();
            DRP_VALUE = (from DataRow dr in dtDRP_VALUE.Rows
                         select new SelectListItem()
                         {
                             Value = Convert.ToString(dr["supp_code"]),
                             Text = Convert.ToString(Convert.ToString(dr["supp_code"] + "~" + dr["supp_name"]  ))
                         }).ToList();

            return DRP_VALUE;

        }

控制器

ViewBag.Travel_Agent = Travel_Agent();

查看

<select  id="SuppCode" asp-items="@(new SelectList(ViewBag.Travel_Agent, "Value", "Text"))" class="form-control">                                                   
<option>---Select---</option>
</select>