在将我的MVC3Web应用程序发布到我的网站时,我得到一个错误,指出一个对象引用没有设置为对象的实例。
'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感谢您的帮助
发布于 2012-02-16 22:51:48
当您查看/Views/Shared/_Layout.cshtml时,您可能会看到如下所示:
<title>@ViewBag.Title</title>它假定此属性已在某处设置。通常,您可以在子视图中设置它。因此,最简单的解决方案是修改您的Index.cshtml视图,使其类似如下所示:
@{
ViewBag.Title = "Title of the page";
Layout = "~/Views/Shared/_Layout.cshtml";
}发布于 2013-04-26 18:41:38
我遇到了相同的ViewBag错误。在我的例子中,Model为空,但异常指向viewbag行。
当我传递一个模型来查看错误时,修复了。
发布于 2014-02-15 13:19:20
请确保视图文件夹内存在布局(_Layout.cshtml)。Views文件夹中的cshtmls/aspx只继承ViewBag属性。
~Z
https://stackoverflow.com/questions/9313314
复制相似问题