我有一个名为C
的控制器,它有一个名为A
的操作。我还有一个名为_Navigation
(Views/Shared/_Navigation.cshtml
)的共享视图。在文件的中间(Views/C/A.cshtml
),我有一个这样的代码:
@Html.Partial("_Navigation")
一切正常,导航已加载。但是,如果我试着打电话
@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"}})
这些都没有奏效。我把断点放在_Navigation
中,它甚至被击中了!它还继续通过所有视图而不会崩溃。 Chrome中的控制台,输出或页面中的任何位置都没有显示错误。
答案 0 :(得分:1)
显然,我覆盖了整个ViewDataDictionary,应该像这样调用:
@{ ViewData.Add("foo", "bar"); }
@Html.Partial("_Navigation", ViewData)