I had the same issue as the OP. From one of the comments, I realized that the second parameter shouldn't be null, i.e from
@model ParentViewModel
@Html.Partial("_Partial", Model.Child)
If Model.Child is null, then Model is passed instead of Model.Child. If there will be cases when the second parameter is null, then you will have to check first in your code and maybe pass an initialized Child as the second parameter. Something like this
@Html.Partial("_Partial", new Child())
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…