Есть ли способ использовать что -то вроде в частичных представлениях, которые визуализированы с помощью рендеринга?
-
12-10-2019 - |
Вопрос
В моем веб -приложении ASP.NET MVC 2 я использую RenderAction
Чтобы отобразить HTML в том, что я называю области «Flash Message» на веб -сайте. Под областью Flash я имею в виду выделенную область рядом с верхом, в которой есть сообщение о предыдущем запросе, например, как Hello <%: Html.DisplayTextFor(m => m.Username) %>
Когда пользователь входит в систему.
Одно флеш -сообщение, над которым я работаю, немного сложнее. Он должен добавить в ответ блок кода JavaScript, но я хочу поместить script
Элемент до конца </body>
тег, как рекомендовано в книге Высокая производительность JavaScript.
В обычном виде я использую <asp:Content ContentPlaceHolderID="FlashScriptElements" runat="server"><script> ... </script></asp:Content>
положить script
Элементы внизу страницы. К сожалению, если я попробую то же самое с частичным взглядом, который отображается с RenderAction
, Я получаю ошибку анализатора.
Есть что -то вроде <asp:Content>
Что я могу использовать в частичных представлениях, которые вставит содержимое в соответствующее место главной страницы?
Решение
<asp:Content>
не поддерживается с помощью рендеринга, поскольку рендерингирование эквивалентно наличию кода, который бы выполнял ваш метод действия ребенка, собрал ответ, а затем вставил его с точки зрения родительского метода.
Что вы могли бы сделать, так это добавить сценарии, которые вам нужны где -то в HttpContextBase.Items
коллекция. Затем на вашей главной странице прямо перед окончанием документа получите зарегистрированные сценарии и распечатайте их.