Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML注释中的Razor代码_Html_Razor - Fatal编程技术网

HTML注释中的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

我的Razor页面上有以下代码:

<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>