使用母版页解析 URL 可能会导致问题,因为您的子 aspx 页面可能位于任何位置 - 甚至可能有 4 个文件夹深。
但是,我认为没有任何理由或押韵:
<base href="/DMC/" />
为什么有以上?我会删除上面的内容。
现在,让我们解决“.icon”引用的问题。
因此,URL 的客户端解析不允许使用“~/”来表示根路径名。 (但是代码隐藏,任何带有 runat="server" 的服务器控件都可以为您解决!)
因此,最简单的解决方案是添加 runat="server" 标签,现在您可以使用服务器端“path”代码进行解析。
所以,这应该有效:
<link href="~/Content/BControl.ico"
rel="shortcut icon" type="image/x-icon" runat="server" />
您的按钮图像也是如此。如果嵌套 2 或 3 个文件夹深会怎样?路径名是相对于你的图片的
所以,你的按钮应该是这样的:
<asp:ImageButton id="expPDF"
ImageUrl="~/Images/icons/pdf.png"
AlternateText="Export to PDF"
style="background-color: white; border: none;" OnClick="expPDF_Click"
runat="server" />
再次记下路径名称。我假设上面的 ImageUrl 文件夹“Images”位于根目录中。但是,假设它位于您的内容文件夹中。
再一次,如果你省略“~/”,那么路径名是相对于当前页面的 - 我们不想考虑或关心。
所以,ImageURL 可能是这样的:
ImageUrl="~/Content/icons/pdf.png"
因此,现在您的 aspx 页面是否位于某个文件夹中并不重要,因为路径名来自根目录(~/ = 站点的根目录)。
我尝试修改代码隐藏参考
不!不要搞乱它,你会破坏一切。