家庭控制器
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工作?不明白这一点.
解决方法
欢迎来到社区.错误是因为您没有在视图中定义模型.
请尝试以下方法:
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 > ); }
您需要填写模型并将其发送到上面的视图.