>一般情况下,当你使用 Html.Partial 时;
Html.Partial("partialViewName");
为 parentView 发送的 Model,可用于 partialViewName。此外,为 parentView 发送的 ViewData 也可以用于 partialViewName。
>作为一个特例,当你使用 Html.Partial 并且如果你想发送 Model..
Html.Partial("partialViewName", newModel);
您无法访问为 parentView 发送的模型。因此,从现在开始,partialViewName 中处于活动状态的 Model 就是 newModel。为 parentView 发送的 viewData 也可用于 partialViewName。
>作为一种特殊情况,当您使用 Html.Partial 并且如果您想发送 ViewDataDictionary..
为 parentView 发送的模型也可用于 partialViewName
一世。
@Html.Partial("partialViewName", new ViewDataDictionary { { "key", value }, { "key2", value2 } })
在这里,为 parentView 发送的 ViewData 被“new ViewDataDictionary”覆盖。
在这里,如果有一个用于 parentView 的 ViewBag,如果您编写上述代码,您将无法访问它。
二、
ViewDataDictionary viewDataDictionary = new ViewDataDictionary();
viewDataDictionary.Add("key", value);
viewDataDictionary.Add("key2", value2);
@Html.Partial("partialViewName", viewDataDictionary)
此用法与第一个(I.)相同。
三、
ViewDataDictionary viewDataDictionary = ViewData; //If you use this code block, ViewBag which is sent for parent View is not lost.
viewDataDictionary.Add("key", value);
viewDataDictionary.Add("key2", value2);
@Html.Partial("partialViewName", viewDataDictionary)
使用此代码块,您可以在 partialViewName 中访问为 parentView 发送的 ViewData 和 ViewBag