ViewBag - 找不到对象引用 - MVC 3

Elv*_*ike 4 asp.net-mvc null viewbag

在将我的MVC 3 Web应用程序发布到我的网站后,我收到一条错误,指出未将对象引用设置为对象的实例.

'错误'行是:第2行: ViewBag.Title = "Index";

这是我的索引视图:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

这是我的家庭控制器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我上传了DLL的:

System.Web.Helpers
System.Web.Mvc
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

Ser*_*dar 11

我遇到了相同的ViewBag错误.在我的情况下,Model为null,但异常是指向viewbag行.

当我通过模型查看错误修复.


Kri*_*aes 5

当您查看 /Views/Shared/_Layout.cshtml 时,您可能会看到如下内容:

<title>@ViewBag.Title</title>
Run Code Online (Sandbox Code Playgroud)

假设该属性已在某处设置。通常,您在子视图中设置它。因此,最简单的解决方案是修改 Index.cshtml 视图,使其类似于以下内容:

@{
     ViewBag.Title = "Title of the page";
     Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)