ViewBag - Ссылка на объект не найдена - MVC 3 - PullRequest
4 голосов
/ 16 февраля 2012

При публикации моего веб-приложения MVC 3 на моем веб-сайте я получаю сообщение об ошибке, указывающее, что ссылка на объект не установлена ​​на экземпляр объекта.

Строка 'error': Строка 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

Спасибо за любую помощь

Ответы [ 3 ]

11 голосов
/ 26 апреля 2013

Я столкнулся с той же ошибкой ViewBag.в моем случае Model был нулевым, но исключение было направлено на строку представления.

Когда я передал модель для просмотра исправленной ошибки.

4 голосов
/ 16 февраля 2012

Когда вы посмотрите в /Views/Shared/_Layout.cshtml, вы, вероятно, увидите что-то вроде этого:

<title>@ViewBag.Title</title>

Предполагается, что это свойство где-то установлено. Обычно вы устанавливаете это в своих дочерних представлениях. Поэтому самое простое решение - изменить представление Index.cshtml, чтобы оно выглядело примерно так:

@{
     ViewBag.Title = "Title of the page";
     Layout = "~/Views/Shared/_Layout.cshtml";
}
0 голосов
/ 15 февраля 2014

, пожалуйста, убедитесь, что макет (_Layout.cshtml) присутствует в папке Views.Внутри папки Views cshtmls / aspx наследует только свойство ViewBag.

~ Z

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...