_ViewStart.cshtml的内容
@{
Layout = "_Layout";
ViewData["IndexLink"] = Context.Request.Path != "/" ? "/Index" : "";
}
Downloads.cshtml的内容
@page
@model DownloadsModel
@{
ViewData["Title"] = "Downloads";
}
来自_Layout.cshtml的片段
<title>@ViewData["Title"] - ABC Sofware LLC</title>
问题:
正在呈现<title>
标记而没有视图标题。
疑难解答步骤:
我在_Layout.cshtml
中设置了一个断点,看看是什么
ViewData包含。它有一个键而不是两个键。
@ViewData.Keys
Count = 1
[0]: "IndexLink"
如果我从_ViewStart.cshtml中删除ViewData["IndexLink"]
行,则设置ViewData["Title"]
。
@ViewData.Keys
Count = 1
[0]: "Title"
为什么在ViewData
中设置_ViewStart.html
密钥在视图中中断ViewData
?
答案 0 :(得分:4)
看起来这是一个当前的错误(请参阅https://github.com/aspnet/Mvc/issues/7675 - 计划在Core 2.2.0中修复),但目前的解决方法不是:
ViewData["Key"]
你会用
ViewContext.ViewData["Key"]
_ViewStart.cshtml和Downloads.cshtml中的。参考
@ViewData["Key"]
_Layout.cshtml中的对我来说似乎仍然正常。