Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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
C# 如果条件为真,ASP.NET网页(Razor)会更改html代码,但不起作用_C#_Asp.net_Razor_Webmatrix_Asp.net Webpages - Fatal编程技术网

C# 如果条件为真,ASP.NET网页(Razor)会更改html代码,但不起作用

C# 如果条件为真,ASP.NET网页(Razor)会更改html代码,但不起作用,c#,asp.net,razor,webmatrix,asp.net-webpages,C#,Asp.net,Razor,Webmatrix,Asp.net Webpages,我正在从事ASP.NET网页(Razor)项目。如果条件为真,我想显示HTMLcode,但似乎浏览器将其显示为纯文本,而不是HTMLcode 这是我的HTML: <li>@(active=="test" ? "<a href='?log' id='button'>TEST</a>" : "<a href='?test' id='button'>TEST</a>")</li> @(活动==“测试”?:) 如果@(activ

我正在从事ASP.NET网页(Razor)项目。如果条件为真,我想显示
HTML
code,但似乎浏览器将其显示为
纯文本
,而不是
HTML
code

这是我的HTML

<li>@(active=="test" ? "<a href='?log' id='button'>TEST</a>" : "<a href='?test' id='button'>TEST</a>")</li>
  • @(活动==“测试”?:)
  • 如果
    @(active==“test”)
    条件为真,则我的
    HTML
    代码将更改为另一个。请帮我做这件事?

    试试这种方法:

    @if(active=="test")
    {
    <a href='?log' id='button'>TEST</a>
    }
    else
    {
    <a href='?test' id='button'>TEST</a>
    }
    
    @if(活动==“测试”)
    {
    }
    其他的
    {
    }
    
    您也可以试试这个

    <li>@Html.Raw(active=="test" ?"<a href='?log' id='button'>TEST</a>" : "<a href='?test' id='button'>TEST</a>")</li>
    
  • @Html.Raw(活动==“测试”?:)

  • 关键是Razor总是对输出进行编码,您需要告诉它不要使用Html.Raw()helper进行编码

    谢谢它的工作!但我也想知道它现在是如何工作的,我的方法有什么问题?Razor不识别“?”操作符,所以它只是将其呈现为纯文本。Razorview引擎有起有落。因为浏览器源代码显示了两种方法的相同结果。OK。。。无论如何,谢谢。@MaryMelody使用这种方法,Razor在遇到