【问题标题】:System.Web.Mvc.WebViewPage<TModel>.Model.get returned nullSystem.Web.Mvc.WebViewPage<TModel>.Model.get 返回 null
【发布时间】:2017-08-29 17:14:08
【问题描述】:

家庭控制器

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();
    }

}

索引.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 工作?不明白这个。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    欢迎来到社区。错误是因为您没有在视图中定义模型。

    尝试以下方法:
    a) 创建一个_Layout.cshtml 文件 - 它就像 Views/Shared 文件夹下的主文件。

    b) 将所有 HTML 放入布局和视图文件中 - 在正文中仅包含您需要的代码。

    c) 从您的 get 控制器方法发送模型。

    d) 在您的视图中接收模型并在 foreach 中迭代(或)使用 HTML Helper 构建下拉列表

    _Layout.cshtml:

    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
       @RenderBody()
    </body>
    </html>
    

    索引.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 > );
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-15
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多