ASP.NET Core 7 Razor中如何简洁实现可选非布尔属性渲染
Razor v7 简洁单行实现条件渲染
<li>标签 直接使用Razor的属性值条件渲染语法即可解决,无需多行判断或标签助手:
<li aria-current="@(current == Model.CurrentPage ? "page" : null)"></li>
原理说明:
- 当
current == Model.CurrentPage为真时,aria-current属性会被渲染为aria-current="page"; - 当条件为假时,属性值返回
null,Razor会自动忽略这个属性,最终渲染出干净的<li></li>标签,完全符合需求。
你之前的代码出现aria-current=""page""是因为手动添加了转义字符,Razor会自动处理属性值的引号,不需要额外转义。
内容的提问来源于stack exchange,提问作者lonix
相关产品推荐
相关产品推荐

