Razor ASP.NET页面视图数据被覆盖(丢失)

Razor ASP.NET页面视图数据被覆盖(丢失),razor,asp.net-core,asp.net-core-2.0,Razor,Asp.net Core,Asp.net Core 2.0,_ViewStart.cshtml的内容 @{ Layout = "_Layout"; ViewData["IndexLink"] = Context.Request.Path != "/" ? "/Index" : ""; } 下载内容.cshtml @page @model DownloadsModel @{ ViewData["Title"] = "Downloads"; } _Layout.cshtml中的代码段 <title>@ViewData[

_ViewStart.cshtml的内容

@{
    Layout = "_Layout";
    ViewData["IndexLink"] = Context.Request.Path != "/" ? "/Index" : "";
}
下载内容.cshtml

@page
@model DownloadsModel
@{
    ViewData["Title"] = "Downloads";
}
_Layout.cshtml中的代码段

<title>@ViewData["Title"] - ABC Sofware LLC</title>
如果从_ViewStart.cshtml中删除
ViewData[“IndexLink”]
行,则设置
ViewData[“Title”]

@ViewData.Keys
    Count = 1
    [0]: "Title"

为什么设置一个
ViewData
键进入
\u ViewStart.html
会打断视图中的
ViewData

看起来这是当前的一个bug(请参见--计划在Core 2.2.0中修复),但当前的解决方法不是:

ViewData["Key"]
你会用

ViewContext.ViewData["Key"]
在_ViewStart.cshtml和Downloads.cshtml中。参考

@ViewData["Key"]

在_Layout.cshtml中,我似乎仍然可以正常工作。

看起来这是当前的一个bug(请参阅--计划在Core 2.2.0中修复),但当前的解决方法不是:

ViewData["Key"]
你会用

ViewContext.ViewData["Key"]
在_ViewStart.cshtml和Downloads.cshtml中。参考

@ViewData["Key"]

在_Layout.cshtml中,我似乎仍然可以正常工作。

我尝试了相同的场景,似乎可以正常工作。您是如何创建项目的?@AntonySamyJoseph VS2017>新建ASP.NET核心Web应用程序>Web应用程序。我刚刚尝试了一个全新的测试项目,问题是一样的。我也尝试了相同的配置。。但是asp.net core 2.0..我也在使用2.0版,我也有同样的问题。在Core2.x中,如果在_Layout.cshtmlI中设置了任何键,则ViewData似乎会被覆盖。我尝试了相同的场景,它似乎工作正常。您是如何创建项目的?@AntonySamyJoseph VS2017>新建ASP.NET核心Web应用程序>Web应用程序。我刚刚尝试了一个全新的测试项目,问题是一样的。我也尝试了相同的配置。。但是asp.net core 2.0..我也在使用2.0版,我也有同样的问题。在Core2.x中,如果在_Layout.cshtml中设置了任何键,则ViewData将被覆盖