我正在尝试使用单个数据库调用构建一个下拉列表。
我的表由一个 Id 列和一个 CompanyName 列组成。I need to display the CompanyName to the user and when one is selected set the Id for the page to Id.
我把一个简单的模型放在一起来存储信息:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace Portal.Models
{
public class CompanyListId
{
public int Id { get; set; }
public string CompanyName { get; set; }
}
public class CompanyListIdDBContext : DbContext
{
public DbSet<CompanyListId> Contacts { get; set; }
}
}
但是我在视图中遇到了控制器和剃刀调用的问题。
我的控制器:
public void CompanyListIdSearch()
{
using (var dc = new CompanyListIdDBContext())
{
var content = from p in db.Companies
select new { p.CoId, p.CompanyName };
}
}
视图中的剃刀调用:
<div id="partners" class="linen">
@{Html.DropDownList("CompanyListIdSearch", new SelectList(Model.CompanyName));}
</div>
在视图顶部抓取模型@model Portal.Models.CompanyListId
所以在高层次上,我想要做的是有一个视图,它用剃刀标签调用控制器,控制器用数据更新模型,然后该数据显示在下拉列表中。我是以错误的方式接近这个吗?
我收到此错误:
The model item passed into the dictionary is of type 'Portal.Models.DashboardContents', but this dictionary requires a model item of type 'Portal.Models.CompanyListId'.