家庭控制器
public ActionResult Index()
{
using (MvcDB dataBase = new MvcDB())
{
}
return View();
}
public void DataDoldur()
{
using (MvcDB dataBase = new MvcDB())
{
Kategori ktgr1 = new Kategori();
ktgr1.KategoriAdi = "Spor";
dataBase.Kategori.Add(ktgr1);
dataBase.SaveChanges();
}
}
Index.cshtml
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<div>
<label>Kategori Seçiniz:</label>
</div>
<select name="Seçilen Kategori">
@foreach (Kategori kategori in Model)
{
<option>@kategori.KategoriAdi</option>
}
</select>
<input type="submit" value="Haberleri Listele " />
</div>
</body>
</html>
“System.Web.Mvc.WebViewPage.Model.get返回null”错误我明白了。我该怎么办?我的数据库准备好了,但我无法使用它。我认为这是真的,但不起作用。 我怎样才能让foreach工作?不理解这一点。
答案 0 :(得分:8)
欢迎来到社区。错误是因为您没有在视图中定义模型..
请尝试以下方法:
a)创建一个_Layout.cshtml文件 - 它类似于Views / Shared文件夹下的主文件。
b)将所有HTML放在布局和视图文件中 - 只有正文中需要的代码。
c)从get控制器方法发送模型。
d)在View中接收模型并在foreach中迭代(或)使用HTML Helper构建下拉列表
_Layout.cshtml:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@RenderBody()
</body>
</html>
Index.cshtml:
@model <Your Model >
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
<div>
<label>Kategori Seçiniz:</label>
</div>
<select name="Seçilen Kategori"> // Instead of using it this way, please go with @Html.DropDownListFor
@foreach (Kategori kategori in Model)
{
<option>@kategori.KategoriAdi</option>
}
</select>
<input type="submit" value="Haberleri Listele " />
</div>
家庭控制器:
public ActionResult Index()
{
using (MvcDB dataBase = new MvcDB())
{
}
return View(< YourModel > );
}
您需要填写模型并将其发送到上面的视图。