Мы делаем все возможное, чтобы НЕ использовать RenderPartial, а вместо этого использовать EditorFor и DisplayFor в 100% случаев. Однако есть один сценарий, который мы до сих пор не смогли запустить: когда частичному представлению требуется вся ViewModel или, другими словами, когда оно должно быть Html.DisplayFor(m => m, "MyTemplateThatNeedsTheEntireViewModel")
. Он отлично работает, если он Html.DisplayFor(m => m.Prop, "MyTemplateThatOnlyNeedsTheOneProperty")
, но мы не можем передать всю ViewModel.
Есть ли способ добиться этого, который будет работать как с DisplayFor
, так и с EditorFor
?
Что я вижу сейчас, так это то, что в моей разметке либо ничего (либо, возможно, пробел) не отображается. Однако и компилятор, и ReSharper, похоже, считают, что мой синтаксис просто в порядке. Изменение моего кода для вызова RenderPartial работает отлично, но я стараюсь избегать этого.
Я пробую эти три строки. RenderPartial работает отлично, EditorFors не работают (возможная разметка представляет собой пустую строку или пробел):
<% Html.EditorFor(m => m, "RetailPriceRequests/PriceRequest/PriceRequestLoadGrid"); %>
<%= Html.EditorFor(m => m, "RetailPriceRequests/PriceRequest/PriceRequestLoadGrid") %>
<% Html.RenderPartial("~/Views/Shared/EditorTemplates/RetailPriceRequests/PriceRequest/PriceRequestLoadGrid.ascx", Model); %>