使用多个表中的数据创建下拉菜单 - c#

我想创建一个供应商下拉列表。我的数据库中有一个Vendors表,其中包含VendorID和CompanyID。公司表包含公司ID和名称。

我想要一个下拉菜单,其中包含VendorID作为值和Company Name作为文本的项目。但是我不知道如何从相关表中获取“名称”字段以放入下拉菜单,因此我将VendorID作为值和文本。这就是我现在所拥有的。

我正在传递一个包含以下内容的模型:

public IEnumerable<Vendor> Vendors { get; set; }

在我的控制器中,我像这样设置“供应商”的值:

MyDBEntities _entities = new MyDBEntities();
Vendors = _entities.Vendors;

这是我在页面上的下拉列表:

<%= Html.DropDownListFor(m => m.VendorId, new SelectList(Model.Vendors, "VendorID", "VendorID"), "- Select a Vendor -")%>

我以为可以创建一个自定义函数GetVendorsForDropdown,该函数将仅返回所需的数据,并将模型更改为包含IEnumerable<Something>。但是我不知道返回类型应该是什么。

参考方案

使用linq并将其作为ListItem的返回

MyDBEntities _entities = new MyDBEntities();
var data = from v in _entities.Vendors
           from c in _entities.Companies
           where v.CompanyId = c.CompanyId
           select new ListItem{Value = v.VendorId, Text = c.CompanyName};

return data;

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

Asp.Net:在服务器端还原DropDownList的客户端SelectedItem - c#

因此,我的页面上有一个dropDownList,其中包含数百个项目。用户可以通过在文本框中键入一些文本来过滤此DDL。然后对DDL进行相应的过滤(所有不包含输入文本的项目都将通过JavaScript删除)。然后,用户选择他的项目并按下按钮。通常,这将导致错误,因为DDL已更改并且ASP验证了PostBack数据。但是,使用EnableEventValidat…

asp.net mvc或javascript将另一页的结果返回给方法 - c#

是否可以将另一个页面的结果返回给JavaScript方法或C#控制器操作?我有一个共享的复杂页面,该页面在我的网站上遍布使用,当前用于在C#后端的用户数据上设置单个变量。当用户完成共享的复杂页面后,我将返回引用页面。当用户在刷新或返回时将其作为url参数传递给返回的页面时,我返回的页面包含新选择的变量。我有一个新页面,我希望从我的共享复杂页面中返回该变量。但…

asp.net:treeview-显示文本框是否选中? - c#

我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框。我想做的是向用户显示一个TREEVIEW,每个节点都是字符串之一。他们将通过选中复选框来选择所需的每个字符串。问题:如果用户选择特定的复选框,则我需要一个文本框来显示用户的GET输入。问题:如何从用户使用树形视图获取字符串输入? 参考方案 Tr…