C# 使用ViewDataDictionary参数调用Mvc Html.Partial()时不工作

C# 使用ViewDataDictionary参数调用Mvc Html.Partial()时不工作,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我有一个名为C的控制器,它有一个名为a的动作。我还有一个共享视图,名为\u Navigation(视图/shared/\u Navigation.cshtml)。在文件的中间(视图/C/A.CSHTML< /代码>),我有这样的代码: @Html.Partial("_Navigation") @{ ViewData.Add("foo", "bar"); } @Html.Partial("_Navigation", ViewData) 一切正常,导航已加载。但是,如果我试着打电话 @Html

我有一个名为
C
的控制器,它有一个名为
a
的动作。我还有一个共享视图,名为
\u Navigation
视图/shared/\u Navigation.cshtml
)。在文件的中间(<代码>视图/C/A.CSHTML< /代码>),我有这样的代码:

@Html.Partial("_Navigation")
@{ ViewData.Add("foo", "bar"); }

@Html.Partial("_Navigation", ViewData)
一切正常,导航已加载。但是,如果我试着打电话

@Html.Partial("_Navigation", new ViewDataDictionary() { { "foo", "bar"}})
突然导航部分没有加载到页面中。我也试过了

@Html.Partial("~Views/Shared/_Navigation", new ViewDataDictionary() { { "foo", "bar"}})
@Html.Partial("../Shared/_Navigation", new ViewDataDictionary() { { "foo", "bar"}})

@Html.Partial("~Views/Shared/_Navigation", null, new ViewDataDictionary() { { "foo", "bar"}})
@Html.Partial("../Shared/_Navigation", null, new ViewDataDictionary() { { "foo", "bar"}})

这两个都不起作用。我把断点放在了
\u导航中
,它甚至被击中了!它也继续通过所有的看法没有崩溃。Chrome中的控制台、输出或页面中的任何位置都没有显示错误。

显然,我正在覆盖整个ViewDataDictionary,应该这样调用:

@Html.Partial("_Navigation")
@{ ViewData.Add("foo", "bar"); }

@Html.Partial("_Navigation", ViewData)

谢谢你的回答,我不知道你什么时候这样叫它{ViewData.Add(“foo”,“bar”);Html.Partial(“u导航”,ViewData)}它就是不起作用。