加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

这是一个错误吗?或者它是ASP.NET 4(或MVC 2)中的设置?

发布时间:2020-12-16 03:47:16 所属栏目:asp.Net 来源:网络整理
导读:我刚刚开始试用T4MVC,我喜欢消除魔法字符串的想法. 但是,当我尝试在我的样式表的母版页上使用它时,我得到了这个: link href="%: Links.Content.site_css %" rel="stylesheet" type="text/css" / 这样的结果: link href="lt;%: Links.Content.site_css %" r
我刚刚开始试用T4MVC,我喜欢消除魔法字符串的想法.

但是,当我尝试在我的样式表的母版页上使用它时,我得到了这个:

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

这样的结果:

<link href="&lt;%: Links.Content.site_css %>" rel="stylesheet" type="text/css" />

而这些渲染正确:

<link href="<%: Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
<link href="<%: Links.Content.site_css + "" %>" rel="stylesheet" type="text/css" />

看来,只要我在代码段中有双引号,它就可以工作.但是当我把其他任何东西放在那里时,它逃脱了领先的“不到”.

这是我可以关闭的东西吗?这是一个错误吗?

编辑:

< script src =“...”... />不会发生这种情况,对于< a href =“...”>也不会发生这种情况.

编辑2:

最小的情况:

<link href="<%: string.Empty %>" />

VS

<link href="<%: "" %>" />

编辑3:

我有一个解决方法,我已经实现了一个HtmlHelper扩展,以便我可以这样做:

<%: Html.StyleSheet(Links.Content.site_css) %>

我更喜欢对intellisens的支持,所以我实际上会坚持这一点.现在,我只是想解决这个问题.

解决方法

它对我来说看起来像个错误,编译后的输出是:

private global::System.Web.UI.HtmlControls.HtmlLink @__BuildControl__control5() {
    global::System.Web.UI.HtmlControls.HtmlLink @__ctrl;            
    @__ctrl = new global::System.Web.UI.HtmlControls.HtmlLink();
    @__ctrl.Href = "<%: String.Empty %>";
    ((System.Web.UI.IAttributeAccessor)(@__ctrl)).SetAttribute("rel","stylesheet");
    ((System.Web.UI.IAttributeAccessor)(@__ctrl)).SetAttribute("type","text/css");
    return @__ctrl;
}

这似乎只有在控件位于head runat =“server”内时才会发生

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读