ViewData始终为null

时间:2019-02-25 13:04:59

标签: asp.net-mvc razor asp.net-core .net-core razor-pages

我知道很多人都问过这个问题,但是没有一个人解决了我的问题,请看一下简单的两个屏幕截图。 我正在使用dotnet core 2.2 我在ViewData中设置数据的方式有什么问题。 那是我的控制器:

public async Task<IActionResult> GetWebTripMetaData(Guid tripId)
{
    try
    {
        ViewData["Greeting"] = "Hello World!";
        return View();
    }
    catch (Exception)
    {
        return BadRequest("Internal Server Error");
    }
}

那是我的观点:

@page
@model TripTale.Backend.Pages.tripModel
<html>
  <head>
      <link href="@Url.Content("~/Styles/trip.css")" rel="stylesheet" type="text/css" />
   </head>
    <body>
        @ViewData["Greeting"]
    </body>
</html>

请注意,从查看页面中删除ViewData["Greeting"]时,它可以正常工作。添加它时,会抛出未设置为实例的对象引用。

2 个答案:

答案 0 :(得分:1)

我只是使用ViewBag.Greeting代替了ViewData [“ Greeting”],而且效果很好

答案 1 :(得分:0)

public IActionResult Index()
{
    try
    {
            ViewData["Greeting"] = "Hello World!";
            return View();
    }
    catch (Exception)
    {
            return BadRequest("Internal Server Error");
    }
}