若条件为true,ASP.NET Web Pages(Razor)将更改html代码

本文关键字:Razor 代码 html Pages true 条件 ASP Web NET | 更新日期: 2023-09-27 18:00:14

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

这是我的HTML

<li>@(active=="test" ? "<a href='?log' id='button'>TEST</a>" : "<a href='?test' id='button'>TEST</a>")</li>

我希望如果@(active=="test")条件为真,那么我的HTML代码将更改为另一个。请帮我做这个?

若条件为true,ASP.NET Web Pages(Razor)将更改html代码

您也可以尝试这个

<li>@Html.Raw(active=="test" ?"<a href='?log' id='button'>TEST</a>" : "<a href='?test' id='button'>TEST</a>")</li>

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

尝试这种方法:

@if(active=="test")
{
<a href='?log' id='button'>TEST</a>
}
else
{
<a href='?test' id='button'>TEST</a>
}