4

MVC 3 Web アプリケーションを 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

ご協力ありがとうございます

4

3 に答える 3

4

/Views/Shared/_Layout.cshtml を見ると、おそらく次のように表示されます。

<title>@ViewBag.Title</title>

このプロパティがどこかに設定されていることを前提としています。通常、これは子ビューで設定します。したがって、最も簡単な解決策は、Index.cshtml ビューを次のように変更することです。

@{
     ViewBag.Title = "Title of the page";
     Layout = "~/Views/Shared/_Layout.cshtml";
}
于 2012-02-16T14:51:48.493 に答える
0

レイアウト (_Layout.cshtml) が Views フォルダー内にあることを確認してください。Views フォルダー内の cshtmls/aspx は、ViewBag プロパティのみを継承します。

〜Z

于 2014-02-15T05:19:19.977 に答える