【发布时间】:2009-06-12 16:06:34
【问题描述】:
由于某种原因,webforms 母版页中的 css 链接被 ASP.NET 破坏。
使用母版页的页面位于/subdir1/subdir2/page.aspx
不知道为什么会这样,但这是代码的 sn-p:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link href="<%= MyNamespace.Helpers.UrlHelper.CssRoot %>Site.css" rel="stylesheet" type="text/css" />
<script src="<%= MyNamespace.Helpers.UrlHelper.JavascriptRoot %>jquery-1.3.2.min.js" type="text/javascript"></script>
<asp:ContentPlaceHolder ID="cphHead" runat="server">
</asp:ContentPlaceHolder>
</head>
正在创建的 Html 输出是:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
Untitled Page
</title><link href="../../%3C%25=%MyNamespace.Helpers.UrlHelper.CssRoot%20%25%3ESite.css" rel="stylesheet" type="text/css" />
<script src="/Javascript/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
为什么这适用于脚本标签但破坏链接标签而不实际执行包含的代码。如果我将“链接”标签更改为“脚本”标签(这是错误的,但出于测试目的),它会生成我期望的正确 html。为什么 ASP.NET 弄乱了我的 Css 的链接标签而不是 javascript 的脚本标签?
链接标签有什么特别之处可以让 ASP.NET 认为它需要破坏它吗?
【问题讨论】: