ViewData 始终为空

Moh*_*ish 6 asp.net-mvc razor .net-core asp.net-core razor-pages

我知道很多人问过这个问题,但没有人解决我的问题,请查看简单的两个代码片段,我使用的是 dotnet core 2.2。

我在ViewData.

控制器.cs:

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

看法:

@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>
Run Code Online (Sandbox Code Playgroud)

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

Moh*_*ish 7

我只是使用 ViewBag.Greeting 而不是 ViewData["Greeting"] 并且效果很好