Can't access ViewBag in a partial view in ASP.NET MVC3

后端 未结 8 1425
无人共我
无人共我 2020-12-08 06:32

I have a controller calling a view. In the view there is a PartialView called be @Html.Partial(\"ViewName\", model). This works fine.

But i

8条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-08 06:58

    Recently I was experiencing same problem, but the answers here were just workarounds as they propose not to use the overload of Html.Partial using viewData. But if you had to use these overloads I believe the correct answer is:

    @Html.Partial(
         "PartialViewName",
         model_object,
         new ViewDataDictionary() { { "Value1InViewBag", ViewBag.Value1InViewBag }, { "Value2InViewBag", ViewBag.Value2InViewBag } }
    )
    

    I think this answer should be used if you need to pass different ViewDataDictionary (e.g. I us it for changing HtmlFieldPrefix) and because in the view you should know, what partial view wil need in ViewBag, so it should not be problem to name all the parameters from ViewBag to be copied into new ViewBag used in partial view (apparently ViewBag uses values from ViewData).

提交回复
热议问题