Asp.NET Core 加载静态文件404

        找了好多天的前端模板,终于心心念念的引入了自己的程序,正满心欢喜的运行起来的时候,竟然只有进入默认是首页的时候 css,js,img成功引入。

而当我发起任意一个请求的时候,哪怕是在用URL,页面的样式全部未加载,甚至连部分写好的js也未能正常加载。

一开始还以为是startup.cs文件没有引入静态文件中间件,甚至是中间件未运行。

app.UseStaticFiles();

一通检查下来。后端逻辑,业务代码完全没有问题。看来问题只能出现在前端页面对相关资源的引入上了。查看调试台发现,显示如下错误

注意看路径,端口号后面对静态资源的加载竟然是,Home,我的控制器的名字,完全不对呀,正常应该是.css/ 才对。路径是错的当然找不到了。

检查布局页面发现,这里的引入竟然是相对当前文件的地址

//注意这里的href
<link rel="stylesheet" type="text/css" href="css/footCommonstyle.css" />
    <script type="text/javascript" src="~/js/jquery-1.12.4.min.js"></script>

怪不得会爆404,在跳转的时候,自动加上[控制器]/的前缀。真是太粗心了,检查剩下的几个对应的错误,都是这样,于是加上~/或是./就可以了。

<link rel="stylesheet" type="text/css" href="~/css/footCommonstyle.css" />

最后提醒大家在使用这些白嫖来的资源的时候一定注意引用的格式。

还有遇到一个小bug,有时候我们写完了表单,却发现鼠标无法点击提交按钮的时候,去检查一下布局,尤其是引入的部分视图,可能不是你的代码错了,而是他们的布局正好盖住了操作的区域。

不好意思,献丑了,哈哈哈哈

猜你喜欢

转载自blog.csdn.net/weixin_43604220/article/details/123625871