私はこの MVC フレームワークに非常に慣れておらず、非常に単純な操作を理解しようとしています - データベースからドロップダウン リストを作成します。DB から値のリストを取得できましたが、何らかの理由で個別のリストを取得できませんでした。ここに私のサンプルコードがあります
public class HomeController : Controller
{
private PlanContext _context = new PlanContext();
public ActionResult Index()
{
var query = _context.Categories.Select(m => new { m.ID }).Distinct();
ViewBag.CategoryID = new SelectList(query.AsEnumerable(), "ID", "ID");
return View();
}
}
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<p>
Select a Category:<%= Html.DropDownList("ID", (SelectList) ViewBag.CategoryID, "---Select One---") %>
</p>
</asp:Content>
public class PlanContext : DbContext
{
public DbSet<Category> Categories { get; set; }
}
[Table("vCategory")]
public class Category : IEquatable<Category>
{
[Column("CategoryID")]
public int ID { get; set; }
public bool Equals(Category other)
{
//Check whether the compared object is null.
if (Object.ReferenceEquals(other, null)) return false;
//Check whether the compared object references the same data.
if (Object.ReferenceEquals(this, other)) return true;
return ID == other.ID;
}
public override int GetHashCode()
{
return ID.GetHashCode();
}
}
私のドロップダウンには常に同じID値を持つ複数のアイテムがあります。テーブルには重複する値がありますが、DDL に個別の値を設定しようとしています。
ご協力いただきありがとうございます。
ジャビド