我有这个ASP.NET Core MVC项目:

enter image description here

我想使用以下命令从Index.cshtml打开名为Impresorashtml.html的HTML元素(html页面

<a href="/Impresorashtml.html" target="_blank"> Impresoras </a>

页面打开,但我收到一个错误:

找不到此本地主机页面

enter image description here

推荐答案

这是一个Razor Pages项目.无论如何,无论是Razor Pages还是MVC项目,静态文件都应该位于wwwroot文件夹by default中.然后你就可以很容易地访问它了.

  1. 如果您将Impresorashtml.html放在wwwroot文件夹的根目录中.您可以使用以下代码访问它:

    <a href="/Impresorashtml.html" target="_blank"> Impresoras </a>
    

    enter image description here

  2. 如果您将Impresorashtml.html放在wwwroot文件夹的子文件夹中.您可以使用如下代码访问它:

    <a href="/html/Impresorashtml.html" target="_blank"> Impresoras </a>
    

    enter image description here

如果您希望像您所做的那样达到wwwrootserve files outside(将其放在Pages文件夹中),则需要按如下方式配置静态文件中间件:

app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath, "Pages")),
    RequestPath = "/StaticFiles"
});

然后使用以下代码访问它:

<a href="/StaticFiles/Impresorashtml.html" target="_blank"> Impresorashtml</a>

参考资料:

Serve files outside of web root

Html相关问答推荐

HTML5章节或文章

Tailwincss:自动设置网格高度

将网格包装在css中

如何在htmlAngular 17的@for中使用索引

CURL邮箱中的图像不能调整其大小

带有多种 colored颜色 的HTML按钮

如何防止可见的滑动抽屉,同时转移HTML方向?

如何用等宽字体固定数字在有序列表中的位置

如何在R rmarkdown中创建循环中的分页表?

列表项文本在占据剩余空间之前在标记下换行

当浏览器宽度减小时字体大小变得太大

如何在悬停时使矩形按钮上的边框变圆

如何为卡片块制作侧丝带样式

即使必填字段为空,HTML 表单也已成功提交

当作为常规图片输入时,Cloudfront分布式图像可显示,但作为背景图像不显示

从 Vue 应用程序的容器元素渲染 HTML

另一个 flex 元素之间的 CSS 空间

如何在不删除

标记的情况下加入 HTML 中的段落

文本输入在 Chrome 中保持水平滚动,带有文本溢出:省略号

用 flexbox 和 overflow 覆盖