asp.net mvc razor布局页中a标签的href的跳转问题

笔者做了一个文件上传系统,文件上传后,保存在wwwroot目录的file文件夹中,并把该文件的路径保存到数据库中,

如这样的一个路径保存在数据库:

file/b775f487-0127-41e0-9df8-2a5f1624cd87.jpg

上传成功后,当在home控制器的index页面中的a标签中,直接这样编写

          <a href="@filePath">下载</a> 

页面生成后,链接是

http://localhost:53953/file/b775f487-0127-41e0-9df8-2a5f1624cd87.jpg

完全没有问题  可以正常访问并下载,但是在note控制器的Detils的页面下,我使用同样也是这样的a标签指向文件

          <a href="@filePath">下载</a> 

可是就不能正常访问了  生成的链接是

http://localhost:53953/note/Detils/file/b775f487-0127-41e0-9df8-2a5f1624cd87.jpg

也就是说链接中把控制器名和action名也加进去了  ,是无法正常访问到文件的,

为什么home和index不会加进去呢?  因为路由中默认的是控制器是home  默认的视图是index  所以链接中是不显示控制器名和视图名的

那么,问题出现了  怎么解决?

方法是使用

@Url.Content(filePath)来取代@filePath

就不管是在什么控制器下什么视图下  链接始终不含有控制器视图的名称了

同时 需要注意的是,文件路径的保存格式需要有所变化了,不然也是无法正常链接的  需要已/开头  如下:

/file/b775f487-0127-41e0-9df8-2a5f1624cd87.jpg

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏desperate633

浅谈应对数据库高负载访问的几种思路1.使用优化查询的方法2.主从复制, 读写分离, 负载均衡3.数据库分表, 分区, 分库

目前,大部分的主流关系型数据库都提供了主从复制的功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用...

861
来自专栏PHP在线

高性能网站架构方案

如何优化网站响应时间? 减少HTTP请求 将多个图片合并成一个文件,减少图片下载请求 合并Javascript脚本和Css文件 利用浏览器的Cache功能,避...

3194
来自专栏Laoqi's Linux运维专列

使用mysql-proxy配置mysql读写分离

3938
来自专栏腾讯云Elasticsearch Service

使用Curator在腾讯云Elasticsearch中自动删除过期数据

本文将向您介绍,如何在腾讯云的无服务器函数(scf)中,使用curator工具,创建ES过期索引的自动删除定时任务。

8.6K5
来自专栏Java开发

Linux开启MySQL日志

1144
来自专栏电光石火

在IntelliJ IDEA中配置maven

在IntelliJ IDEA中配置maven 打开-File-Settings  ? 5.新建maven WEB项目 打开-File-New-P...

2375
来自专栏禅林阆苑

mysql学习总结05 — 用户权限

mysql中所有用户信息保存在mysql数据库下的user表中。在安装mysql时,如果不创建匿名用户,那么默认用户只有root超级用户。mysql使用host...

1322
来自专栏深度学习之tensorflow实战篇

SQL可以正常用,但cmd启动不了mysql,报错[ERROR] unknown variable ;basedir=....问题

SQL可以正常用,但cmd启动不了mysql,报错[ERROR] unknown variable ;basedir=….问题 解决办法:将对应[mysql...

2775
来自专栏程序员同行者

开启mysql慢查询

1182
来自专栏java达人

Oracle 常用命令

1、启动oracle数据库: 从root切换到oracle用户进入: su - oracle 进入sqlplus环境,nolog参数表示不登录: sqlplus...

1785

扫码关注云+社区