C# 在某些情况下,内联代码标记呈现为文本
在我的aspx中,我有一行:C# 在某些情况下,内联代码标记呈现为文本,c#,.net,asp.net,C#,.net,Asp.net,在我的aspx中,我有一行: <link href="<%= Request.ApplicationPath %>/css/ma/screen-ma.css" rel="Stylesheet"type="text/css" media="screen" /> 其呈现为: <link href="/XFormPortal/css/ma/screen-ma.css" rel="Stylesheet"type="text/css" med
<link href="<%= Request.ApplicationPath %>/css/ma/screen-ma.css" rel="Stylesheet"type="text/css" media="screen" />
其呈现为:
<link href="/XFormPortal/css/ma/screen-ma.css" rel="Stylesheet"type="text/css" media="screen" />
这似乎是正确的,对吗
然后我更改一个字符,比如说在rel和type属性之间添加一个空格,现在我有以下内容:
<link href="<%= Request.ApplicationPath %>/css/ma/screen-ma.css" rel="Stylesheet" type="text/css" media="screen" />
现在渲染为:
<link href="<%= Request.ApplicationPath %>/css/ma/screen-ma.css" rel="Stylesheet" type="text/css" media="screen" />
好吧,这里发生了什么?内联代码标记突然被忽略并作为文本写出?因为一个空间
有人能解释一下吗?我认为这与预编译器解析表达式的顺序有关。。。具体地说,我怀疑在第一个示例中省略空格会导致特定正则表达式匹配失败,并且基本上可以避免正确的解析。请在href标记周围使用单引号。我建议它与预编译器解析表达式的顺序有关。。。具体地说,我怀疑在第一个示例中省略空格会导致特定正则表达式匹配失败,并且基本上可以避免正确的解析。请在您的href标记周围使用单引号。
<link href=<%="\""+Request.ApplicationPath%>/css" rel="Stylesheet" type="text/css" media="screen"/>
尝试从head标签中删除runat=“server”..尝试从head标签中删除runat=“server”..这没有什么区别。好建议!有意思。。我还发现省略哪个空格并不重要,只要省略一个;-)。。。这让我想到:(在你的内联发射器中包含开头的引语。这似乎很有效!感谢你花时间解释这个问题,我希望这对以后的其他人会有帮助。这没有什么区别。虽然建议不错!很有趣。我还发现,你省略哪个空间并不重要,只要你省略一个;-)…这让我想到:(在你的内联发射器中加入开场白。这似乎很有效!感谢你花时间阐明这个问题,我希望这将对未来的其他人有所帮助。这也应该是等效的…这也应该是等效的。。。