HTML-помощники и частичные представления
-
08-07-2019 - |
Вопрос
Если у меня есть, скажем, частичное представление под названием MypartialView и у меня есть HTML-помощник под названием "MyHTMLHelper", как я могу вернуть частичное представление из помощника?
Мое требование заключается в том, что иногда я хотел бы отобразить PartialView самостоятельно, а в других случаях я хотел бы отобразить его с помощью другого частичного представления, или фрагмента текста, или чего-то еще.
Поэтому я подумал, что мог бы создать помощник, который возвращал бы как частичные представления, так и html-помощник, который возвращал бы частичное представление вместе с фрагментом текста.
является ли это наилучшей практикой или я должен вместо этого создать частичное представление, в котором есть обе части, и другое, в котором есть частичное представление + фрагмент текста?
Я ищу не только источник, но и наилучшую практику в соответствии с тем, что делают люди.
Спасибо.
Решение
Я бы использовал два Вида:
-От 2 до частичных
<% Html.RenderPartial("Partial1"); %>
<% Html.RenderPartial("Partial2"); %>
-Частичный и некоторый текст
Some Text
<% Html.RenderPartial("Partial1"); %>
Я думаю, концепция DRY все еще существует, потому что в конце у вас все еще есть весь код в одном месте, Частичные представления, и вы просто ссылаетесь на него из других двух представлений.
Сделать это другим способом будет сложно, и я не думаю, что действительно необходимо использовать другой вспомогательный метод для достижения этой цели.
Другие советы
Помощники, похоже, предназначены для повторного использования намного чаще, чем частичные, поэтому я бы посоветовал, если вы считаете, что будете использовать визуализированный результат из помощника так же часто, как и при использовании альтернативного метода (вложенный PV), тогда используйте помощник.