MVC的Html.Action方法迁移到NET CORE后,使用PartialAsync的分部视图无法使用到后台的数据,

在原来的NET MVC中分部视图用的是Html.Action的方法使用的分部视图,我在迁移到CORE后已经不支持这个写法了,改用了 @await Html.PartialAsync("XXX")的写法。
但是改用之后跳转的这个页面控制器的数据没办法获取到
前端调用页面:

img

需要使用的分部视图:

img

控制器:

img

最终效果:

img

控制器的值没办法在分部视图那个页面显示,但是如果单独运行这个页面是正常的 :

img

这种情况应该怎么办呢?

你不应该把viewbag设置在TestRazor方法里,你应该设置在你的主页面对应的action里面。 因为当你使用@await Html.PartialAsync("XXX")的时候并不会调用TestRazor方法,你的分部视图所有需要传值的地方都是通过你主页面的action来传递的。