HTML注释中的Razor代码
我的Razor页面上有以下代码:HTML注释中的Razor代码,html,razor,Html,Razor,我的Razor页面上有以下代码: <ul id="product-tabs-nav"><!-- --><li><a href="#product-summary">Summary</a></li><!-- @if (AppSettings.EcommerceEnabled) { --><li><a href="#product-reviews">Re
<ul id="product-tabs-nav"><!--
--><li><a href="#product-summary">Summary</a></li><!--
@if (AppSettings.EcommerceEnabled)
{
--><li><a href="#product-reviews">Reviews</a></li><!--
}
--></ul>
但它不起作用,因为它似乎在注释我的razor代码(我原以为您必须使用razor注释标记)。当我需要注释空白时,是否有人知道如何进行此操作(我希望li
标记居中对齐,唯一的方法是使它们inline block
元素,如果它们之间有空白,将添加空格)用razor c#代码进行注释您可以创建如下@**@
所以
@*如果(AppSettings.EcommerceEnabled)
{这是评论
*@
@*
}这是评论
*@
好的,在反复使用这个之后,我发现错误在于Razor if语句中的结束注释标记
我认为,由于它以破折号开始,编译器将其视为Razor语法,而不是将其带回HTML内容。我已经用Html.Raw
解决了这个问题:
<ul id="product-tabs-nav"><!--
--><li><a href="#product-summary">Summary</a></li><!--
@if (AppSettings.EcommerceEnabled)
{
@Html.Raw("--><li><a href=\"#product-reviews\">Reviews</a></li><!--");
}
--></ul>
我相信OP已经知道了这一点。问题是为什么常规的HTML注释块也会延迟代码。嗨,我其实不想注释掉if语句-我想要注释掉的li
s之间的空白。我从未见过类似的东西。为什么页面会呈现li
元素之间的空白?“评论”这些元素之间的每一个空格是毫无意义的。每一个都被放置在一个新行上。@MelanciaUK空白被呈现为内联块
元素的预期行为。我想我现在知道了。很抱歉。
<ul id="product-tabs-nav"><!--
--><li><a href="#product-summary">Summary</a></li><!--
@if (AppSettings.EcommerceEnabled)
{
@Html.Raw("--><li><a href=\"#product-reviews\">Reviews</a></li><!--");
}
--></ul>