Я решил этот совершенно другой маршрут (потому что я торопился и не хотел реализовывать новый HtmlHelper):
Я завернул свой Partial View в большом if-else:
@if ((bool)ViewData["ShouldRenderScripts"] == true){
// Scripts
}else{
// Html
}
Затем я дважды вызывал Partial с пользовательской ViewData:
@Html.Partial("MyPartialView", Model,
new ViewDataDictionary { { "ShouldRenderScripts", false } })
@section scripts{
@Html.Partial("MyPartialView", Model,
new ViewDataDictionary { { "ShouldRenderScripts", true } })
}