我正在使用带有masterpages和usercontrols的asp.NET。
在MasterPage中:
做
<link href='<%=ResolveUrl("~/path/file.css")%>' rel="stylesheet" type="text/css" />
将无法正常工作,css将无法加载 但是
做
<link runat="server" href='~/path/file.css' rel="stylesheet" type="text/css" />
将起作用,css将加载
在用户控制中:
做
<link runat="server" href='~/path/file.css' rel="stylesheet" type="text/css" />
将无效并且css将无法加载
但是
做
<link href='<%=ResolveUrl("~/path/file.css")%>' rel="stylesheet" type="text/css" />
将起作用,css将加载
在母版页中,ResolveUrl不起作用,runat =“server”适用于用户控制中相反的情况。也许我知道,如果有人会检查这个,我会说。如果是这种情况,这种不一致的原因是什么?
答案 0 :(得分:0)
您可以详细阅读here内容。
简而言之,'〜'字符只能在服务器上使用
答案 1 :(得分:0)
好的,我明白了
在其中一个案例中,我有<head runat="server">
个标签。因为runat =“server”,ResolveUrl不是一个服务器方法,而是一个简单的文本。这就是为什么ResolveUrl没有说出来 - 我在head标签中有runat =“server”。