【问题标题】:.NET get variable value inside HTML attribute.NET 在 HTML 属性中获取变量值
【发布时间】:2017-08-29 15:09:29
【问题描述】:

这是我第一次使用 .NET,所以请原谅我的无知。

我正在尝试更改 HTML 元素中 class 属性的值,具体取决于一些 if/else 语句,如下所示:

@if (item.HasAir)
{
    var icon = "fa fa-plane";
    var circleColour = "icon-bg-blue";
}
else if (item.HasCar)
{
    var icon = "fa fa-car";
    var circleColour = "icon-bg-cyan";
}

<span class="icon-cirle @circleColour" aria-hidden="true">
    <span class="@icon"></span>
</span>

但是,在我的浏览器中刷新页面时,我收到了 Compilation Error

当前上下文中不存在名称“circleColour”

看看上面的代码,谁能解释我做错了什么?

其他信息:

  • .NET Framework 版本:4.0.x
  • ASP.NET 版本:4.7.x

【问题讨论】:

  • 您的 icon 和 circleColor 变量在 if 语句中的范围内 - 也就是说,当您在 HTML 中引用它们时,它们超出了范围。

标签: html .net asp.net-mvc


【解决方案1】:

我的错误,我最初没有声明默认值,以防不满足 if/elseif 语句,在我的情况下,它们不满足。

以下似乎解决了这个问题:

@{
    var icon = "fa fa-plane";
    var circleColour = "icon-bg-blue";
}

@if (item.HasCar)
{
    icon = "fa fa-car";
    circleColour = "icon-bg-cyan";
}
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2020-04-14
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多