【问题标题】:ViewBag - Object reference not found - MVC 3ViewBag - 找不到对象引用 - MVC 3
【发布时间】:2012-02-16 14:46:32
【问题描述】:

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

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

这是我的索引视图:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

这是我的家庭控制器:

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

    }
}

我已经上传了 DLL:

System.Web.Helpers
System.Web.Mvc
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor

感谢您的帮助

【问题讨论】:

    标签: asp.net-mvc null viewbag


    【解决方案1】:

    我遇到了同样的 ViewBag 错误。 在我的例子中,Model 为 null,但异常指向 viewbag 行。

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

    【讨论】:

    • 我的模型为空,但异常被重定向到 ViewBag。奇怪的!但是您的解决方案有效。谢谢。
    • 我遇到了类似的问题。模型中的实体为空/null。尝试将实体的名称传递给另一个 ImageHelper 函数并得到 viewbag 错误。奇怪的。不过谢谢。
    【解决方案2】:

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

    <title>@ViewBag.Title</title>
    

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

    @{
         ViewBag.Title = "Title of the page";
         Layout = "~/Views/Shared/_Layout.cshtml";
    }
    

    【讨论】:

    • 感谢您的回复,我已按照您的建议进行了更改,但现在我收到“未设置对象实例的对象引用”。在“布局=”部分。我应该使用网页 1.0.0.0 还是网页 2.0.0.0 我上传了网页 2.0.0.0 dll
    • 当您在 Visual Studio 的项目中查看 System.Web.WebPages 引用的属性时,它会告诉您需要哪个版本。如果您在“bin 部署”您的 MVC 3 应用程序方面需要更多帮助,您可以查看本指南:hanselman.com/blog/…
    • 谢谢,我应该使用 WebPages 1.0.0.0,如何升级到版本 2.0.0.0?
    • 我认为你不应该这样做。只需从博文上传程序集。
    • 好吧,我上传了 WebPages 1.0.0.0 而不是版本 2,我的网站现在可以正常工作,我是否应该在两个 Web.config 文件中将版本更改为 2.0.0.0 以使用 WebPages 2.0.0.0?
    【解决方案3】:

    请确保布局 (_Layout.cshtml) 存在于 Views 文件夹中。 Views 文件夹内的 cshtmls/aspx 仅继承 ViewBag 属性。

    ~Z

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      相关资源
      最近更新 更多