.cshtml文件中波形符(〜/)分辨率后的意外路径

时间:2015-12-22 00:25:14

标签: html .net asp.net-mvc razor

想象一下cshtml文件:

<img src="~/img/image.jpg" />

并将其与以下内容进行比较:

<img src="@("~/img/image.jpg")" />

我希望在两种情况下都能得到相同的结果,但是,~/部分只能在第一种情况下正确解析(到app根目录)。当src解析为http://localhost:50453/~/img/image.jpg时,第二个版本以404 Not Found结束。

这是一个错误还是一个功能?如果它是一个特征,那么它的实现背后的逻辑是什么?

1 个答案:

答案 0 :(得分:0)

这是预期的行为。当剃刀看到~时,它会将其转换为应用程序基础根。但是在第二个示例中,您将路径作为字符串传递给图像(包括~),它将自动呈现为字符串。

您应该使用src="~/img/image.jpg"