用户控件和母版页之间的不一致

时间:2011-10-23 10:15:39

标签: asp.net .net user-controls master-pages

我正在使用带有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”适用于用户控制中相反的情况。也许我知道,如果有人会检查这个,我会说。如果是这种情况,这种不一致的原因是什么?

2 个答案:

答案 0 :(得分:0)

您可以详细阅读here内容。

简而言之,'〜'字符只能在服务器上使用

答案 1 :(得分:0)

好的,我明白了 在其中一个案例中,我有<head runat="server">个标签。因为runat =“server”,ResolveUrl不是一个服务器方法,而是一个简单的文本。这就是为什么ResolveUrl没有说出来 - 我在head标签中有runat =“server”。