请大家帮助我!
我首先使用数据库中的代码,这是Dbcontext:
public partial class BBDbModel : DbContext
{
public BBDbModel()
: base("name=BBDbModel")
{
}
public virtual DbSet<Agency> Agencies { get; set; }
public virtual DbSet<Banner_Gallery> Banner_Gallery { get; set; }
public virtual DbSet<Bill> Bills { get; set; }
public virtual DbSet<City> Cities { get; set; }
public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<Drink> Drinks { get; set; }
public virtual DbSet<Drinks_Category> Drinks_Category { get; set; }
public virtual DbSet<News> News { get; set; }
public virtual DbSet<News_category> News_category { get; set; }
public virtual DbSet<Position> Positions { get; set; }
public virtual DbSet<Sale> Sales { get; set; }
public virtual DbSet<Size> Sizes { get; set; }
public virtual DbSet<Staff> Staffs { get; set; }
public virtual DbSet<Status_bill> Status_bill { get; set; }
public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
public virtual DbSet<Details_Bill> Details_Bill { get; set; }
public virtual DbSet<Drinks_Size> Drinks_Size { get; set; }
vv.vvv.......
在我的观点中:
@model Tuple<WebApplication3.Models.Framework.Drink, WebApplication3.Models.Framework.BBDbModel>
模型项1用于为&#34;饮料&#34;创建新数据。表。 模型项2用于在下拉列表中显示数据。
要制作新饮料,我需要为其选择类别。
现在,我不知道如何在下拉列表中显示数据。
我确信BBDbModel.Drinks_Category.ToList()是来自数据库的正确数据列表, 我在Windowform
中的Datagridview上试了一下答案 0 :(得分:2)
这是您在视图中的样子:
@Html.DropDownListFor(m => m.Drinks,
ViewBag.Drinks,
"Select a drink")
其中Drinks是一个SelectListItem列表,应该构建如下:
ViewBag.Drinks = new SelectList(
new List<SelectListItem>
{
new SelectListItem { Selected = true, Text = "Drink1", Value = "1"},
new SelectListItem { Selected = false, Text = "Drink2", Value = "2"},
new SelectListItem { Selected = false, Text = "Drink3", Value = "3"},
}, "Value" , "Text");
这只是一个例子。还有其他方法可以实现这一目标。
由于您已经有一个准备好的字符串列表,您可以使用它:
@{
var Drinks = new SelectList(BBDbModel.Drinks_Category.ToList()
.Select(m => new SelectListItem { Value = m, Text = m }));
}
@Html.DropDownListFor(m => m.Drinks,
Drinks,
"Select a drink");
我在这里使用 Viewbag 。您可以在模型中包含此selectlistitem并避免这种情况。
希望这有帮助。
答案 1 :(得分:0)
我正在尝试这些行,它正在工作LOL;
<div class="form-group">
@{
WebApplication3.Models.Framework.BBDbModel context = new WebApplication3.Models.Framework.BBDbModel();
var Drinks = new SelectList(context.Drinks_Category.Select(m => new SelectListItem { Value = m.Id_category.ToString(), Text = m.Name_category.ToString() }) "Value" , "Text");
}
@Html.DropDownListFor(m => m.Id_category, Drinks, "Select a category drink")
</div>