是否可以使用服务器端包含在Razor视图引擎中包括.html或.asp文件?我们有一个.html文件和.asp文件,其中包含用于我们所有网站的网站菜单。目前我们使用服务器端包括我们的所有网站,使我们只需要在一个地方更改mensu。
我有我的_Layout.cshtml的正文中的以下代码
<body> <!--#include virtual="/serverside/menus/MainMenu.asp" --> <!--#include virtual="/serverside/menus/library_menu.asp" --> <!--#include virtual="/portfolios/serverside/menus/portfolio_buttons_head.html" --> @RenderBody() </body>
而不是包括文件的内容,如果我做一个视图源,我看到文字文本。
" <!--#include virtual="/serverside/menus/MainMenu.asp" --> <!--#include virtual="/serverside/menus/library_menu.asp" --> <!--#include virtual="/portfolios/serverside/menus/portfolio_buttons_head.html" -->"
解决方法
Razor不支持服务器端包含。最简单的解决方案是将菜单标记复制到_Layout.cshtml页面。
如果你只需要包括.html文件,你可能会写一个自定义函数,从磁盘读取文件并写出输出。
但是,由于您还想要包括.asp文件(可能包含任意服务器端代码),上述方法将不起作用。你必须有一种方法来执行.asp文件,捕获生成的输出,并将其写入cshtml文件中的响应。
在这种情况下,我会用复制粘贴的方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。