【发布时间】:2022-02-24 03:34:15
【问题描述】:
我想在我的Insert 视图中添加一个DropDownList。
控制器:
公共动作结果创建() { ViewBag.CategoryList = new SelectList(Category.GetCategories()); 返回视图(“插入”,新类别()); }查看:
@Html.DropDownListFor(model => model.Category, (IEnumerableCategory 类只有一个名为 Title 的 string 字段。我没有得到Title 的值,而是得到WebApplication.Models.Category。
【问题讨论】:
-
在
return View("Insert", new Category())语句中,您将Category类的新实例绑定到剃刀页面的model属性。这意味着model属性的类型是Category本身。所以它看起来有点奇怪,比如model.Category,因为模型不应该有这个属性,但应该有model.Title。您能否澄清一下您如何在页面上声明@model。 -
@Kitta 我有一个
Product模型,它有一个Category属性。页面上的@model是@model WebApplication1.Models.Product -
这意味着您传递给页面的实例与模型声明之间存在差异。我想,首先你需要在控制器方法中使用
return View("Insert", new Product())之类的东西。之后,您可以通过model.Category.Title语句访问 Title 属性,或使用m => m.Category将下拉框绑定到 Category 属性。
标签: c# asp.net-mvc