有没有一种方法可以在呈现呈现的部分视图中使用的东西?
-
12-10-2019 - |
题
在我的ASP.NET MVC 2 Web应用程序中,我使用 RenderAction
要在我称为网站的“闪存消息”区域中显示HTML。按照闪光区域,我的意思是顶部附近的突出显示区域,其中包含有关先前请求的消息,例如 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>
不支持RenderAction,因为RenderAction等于拥有将执行您的儿童操作方法,收集响应然后将其粘贴到父级方法的视图的代码。
您可以做的是添加所需的脚本 HttpContextBase.Items
收藏。然后在文档末尾的主页上检索注册脚本并将其打印出来。
不隶属于 StackOverflow