ASP.NET MVC内联标记不适用于<;链接href>;

ASP.NET MVC内联标记不适用于<;链接href>;,asp.net,Asp.net,每次我在链接的href属性上添加内联标记时,它都会自动编码。这是ASP.NET的默认行为吗?如何使用代码动态设置Href属性?这是MVC btw 尝试过这样的事情 <link href="<%: Link.Content.Jquery_css %>" rel="stylesheet" type="text/css" /> 这是什么造成的(没有改变) 还有这个 <link href="<%= Link.Content.Jquery_css %>

每次我在链接的href属性上添加内联标记时,它都会自动编码。这是ASP.NET的默认行为吗?如何使用代码动态设置Href属性?这是MVC btw

尝试过这样的事情

<link href="<%: Link.Content.Jquery_css %>" rel="stylesheet" type="text/css" />

这是什么造成的(没有改变)


还有这个

<link href="<%= Link.Content.Jquery_css %> rel="stylesheet" type="text/css" />

Link.Content.Jquery\u css
是一个强类型字符串,包含使用T4MVC生成的链接


添加信息:我在.NET 4中使用了ASP.NET MVC 2,并在Firefox中进行了测试。

由于您使用的标签(
),它将自动编码。如果不希望对URL进行编码,请使用以下命令:

<link href="<%= Link.Content.Jquery_css %>" rel="stylesheet" type="text/css" />

将“:”更改为“=”并删除自动编码

您的视图无法访问Link.Content.Jquery\u css属性。ASP.NET不会抛出任何错误


将该行移到页面正文中,您将看到编译错误。

我在母版页中也遇到了同样的问题。(这不会发生在单个页面中。)我发现从head标记中删除“runat=server”修复了问题。

您可以这样做:

<head>
    <style type="text/css">
        @import "<%= ResolveUrl("~/content/styles.css") %>";
        @import "<%= ResolveUrl("~/content/print.css") %>" print;
    </style>
</head>

@输入“”;
@导入“”打印;

我忘了说我已经试过了。编辑了我的问题以澄清它。当您执行
响应.Write(Link.Content.Jquery\u css)
时,
Link.Content.Jquery\u css是什么样子的?它在进入视图之前被编码了吗?看起来是的。我只是感到困惑,因为我在同一母版页上使用相同的Link.Content类作为javascript引用
,并且它按预期工作。您必须追溯到该元素的创建。你能从创建Jquery_css的模型或控制器中显示一些代码吗?如果我没弄错的话,它是一个静态只读字符串。我现在没有源代码。如果以后事情仍然不顺利,我会发布更多详细信息。+1,我的问题是webforms,但是删除runat=“server”确实解决了OP的问题(没有解释代码),酷!我应该考虑一下!以上所有的想法都不起作用。更不用说runat=“server”在这里甚至不相关(MVC)。谢谢
<link href="<%= Link.Content.Jquery_css %>" rel="stylesheet" type="text/css" />
<head>
    <style type="text/css">
        @import "<%= ResolveUrl("~/content/styles.css") %>";
        @import "<%= ResolveUrl("~/content/print.css") %>" print;
    </style>
</head>