从返回函数Razor填充下拉列表

时间:2019-03-01 17:58:18

标签: c# entity-framework razor razor-pages

我正在尝试使用EF使用数据库表中的值填充下拉框 首先,我不确定这里的返回值 说明是一个字符串,所以我要返回一个列表,但这不起作用。 其次,在我的剃刀页面视图中,如何不能使用返回值来填充下拉列表 任何指导表示赞赏 在网络表单中,这只是控件的数据绑定,这似乎相当复杂

 public List<string> getEstablishments()
        {
            var db = new mydbContext();
            result=db.TblEstablishment.Select(x => new { x.Description }).ToList();

            db.Dispose();
            return result;
        }

2 个答案:

答案 0 :(得分:1)

将您的选择语句更改为 class Base { Base& operator=(const Base& other); }; Base meow(); class Derived : public Base { void woof() { Base& baseRef = *this; baseRef = meow(); } }; 。现在,您正在创建一个匿名对象并返回该对象而不是字符串。要将企业绑定到下拉列表中,您可以执行以下操作:

Select(x => x.Description).ToList()

答案 1 :(得分:1)

在剃刀中:

//in your code, myEstablishments would be passed in somehow
List<string> _myEstablishments = new List<string> {"one", "two"};
@Html.DropDownList(name: "myDropDownList", selectList: _myEstablishments.Select(s => new SelectListItem() { Text = s, Value = s });