asp.net-mvc – System.Web.Mvc.WebViewPage.Model.get返回null

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – System.Web.Mvc.WebViewPage.Model.get返回null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
家庭控制器
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 > );
}

您需要填写模型并将其发送到上面的视图.

猜你在找的asp.Net相关文章