在构建MVC项目时,会自动提供一个共享文件夹,其中我有 Layout.cshtml 页面,它像持有者或母版页一样使用(因为它被称为在Web窗体中)。因此,所有的横幅,导航栏,页脚等都在那里,而正在开发的实际页面在源代码中引用它并在再现时粘贴在一起。我到目前为止。
现在,我有一个使用Yeoman的设置和AspNet网站,我唯一拥有的是 wwwroot 目录,我把文件放在 start.html 中。 (它与 index.html 相同 - 我只是想尝试一下,如果我完全控制默认文件。)
我不确定如何继续。即我希望 start.html 上的链接指向 uno.html , duo.html 等文件并阅读那些进入着陆页的指定部分(即 start.html )。
如果不使用魔术模板,它是否可行?我想完全控制演绎过程。
搜索它没有意义,我注意到,因为我在最后两个小时内得到的任何信息都会导致如何创建母版而不是如何模仿母版页。
答案 0 :(得分:0)
嗯,静态文件中间件就是为了这个:静态文件。
您大致有两种选择:
做一切客户端,即使用普通链接使用javascript / ajax调用,并使用javascript将静态文件的内容嵌入start.html。
它应该可以工作,但有几个下行网站,如它需要javascript工作(这些天不是一个大问题,除了使用无脚本浏览器扩展的偏执狂)和网络爬虫仍然可能有问题正确索引ajax沉重的网页
等到ASP.NET Core 1.2 (scheduled for Q1-Q2 2017),这将添加Razor Pages。使用Razor模板引擎渲染的页面,但不需要控制器。
1.2
- 的WebSockets
- SignalR
- Razor Pages(没有MVC控制器的视图)
- Web API安全性
如果您不想等,请尝试使用RazorLight,它是用于渲染Razor视图的第三方开源库。
但除了第一个之外的所有人都需要一些“魔术模板引擎”。
您当然可以编写一个基于UseStaticFiles
中间件的server-sided includes (SSI)中间件,并在返回之前解析该文件并包含html文件服务器端。据我所知,它没有任何开箱即用的东西。