> В общем случае при использовании Html.Partial;
Html.Partial("partialViewName");
Модель, отправляемую для parentView, можно использовать дляpartalViewName.Кроме того, ViewData, который отправляется для parentView, также может использоваться для частичного ViewName.
> В качестве особого случая, когда вы используете Html.Partial и если вы хотите отправить Model..
Html.Partial("partialViewName", newModel);
Вы не можете найти модель, которая была отправлена для parentView.Следовательно, с сегодняшнего дня Модель, которая активна вpartalViewName, является newModel.ViewData, который отправляется для parentView, может использоваться также для частичного ViewName.
> В качестве особого случая, когда вы используете Html.Partial и хотите отправить ViewDataDictionary ..
Модель, отправляемая для parentView, может использоваться также для частичного вида
I.
@Html.Partial("partialViewName", new ViewDataDictionary { { "key", value }, { "key2", value2 } })
Здесь ViewData, который был отправлен для parentView, перезаписан с помощью 'new ViewDataDictionary'.
Здесь, если есть ViewBag, предназначенный для parentView, вы не сможете достичь этого, если напишите код, подобный приведенному выше.
II.
ViewDataDictionary viewDataDictionary = new ViewDataDictionary();
viewDataDictionary.Add("key", value);
viewDataDictionary.Add("key2", value2);
@Html.Partial("partialViewName", viewDataDictionary)
Это использование аналогично первому (I.).
III.
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)
С помощью этого кодового блока вы можете получить доступ к ViewData и ViewBag, которые отправляются для parentView вpartalViewName
.