我正在编写我的第一个MVC2应用程序。我的母版页工作得非常漂亮,当我在本地运行它时,它的功能与我想要的完全一样。
我的问题是我将它部署在拥有大量应用程序的服务器上。 ResolveUrl似乎行为不端。我得到了正确的路径,但无论出于什么原因,插入额外的报价,或丢弃我的报价。
这是我的<link>
:
<link href='<%= ResolveUrl("~/Content/Site.css") %>' rel="stylesheet" type="text/css"/>
什么出来(客户端,在ASP.NET完成之后):
<link href=/vcdemo/PhotoManager/Content/Site.css" rel="stylesheet" type="text/css" />
显然这不是我想要的。当我更正Firebug中的引号时,网站会正确显示。
有什么想法吗?
答案 0 :(得分:2)
您应该使用Url.Content
帮助程序:
<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css"/>
此外,您似乎正在使用WebForms视图引擎,请确保删除了runat="server"
代码中可能存在的所有<head>
属性。
ResolveUrl
和runat="server"
是遗留内容,不应在ASP.NET MVC应用程序中使用。
答案 1 :(得分:2)
既然你说这是MVC,你应该尝试使用帮助
<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css"/>