javascript - 根据 razor 属性值选择要显示的 img

标签 javascript c# razor

我的 cshtml 页面上有 2 个图标(“New”和“Preleased”),其属性为“hidden”。我想根据我返回的 Razor 模型的属性值显示其中之一。

我的脚本是:

 function ItemConditionSelector() {
     if (@Model.InventoryExchangeItem.ReplacementItemCondition == "New") {
         document.getElementById("NewIcon").hidden = false;
     } else {
         document.getElementById("UsedIcon").hidden = false;
     }
 }

和我的代码块:

<td on="ItemConditionSelector()">
    @Model.InventoryExchangeItem.ReplacementProduct
    <br /> @Model.InventoryExchangeItem.ReplacementItemNumber | @Model.InventoryExchangeItem.ReplacementProductSku |

    <img id="NewIcon" hidden src='~/Images/ico_NewMerchandise.png' />
    <img id="UsedIcon" hidden src='~/Images/ico_prelease.png' /> @Model.InventoryExchangeItem.ReplacementItemCondition
</td>

最佳答案

您可以使用 .hide { display: none; 的 css 类}。然后你会这样做:

<td on="ItemConditionSelector()">
    @Model.InventoryExchangeItem.ReplacementProduct <br />
    @Model.InventoryExchangeItem.ReplacementItemNumber | @Model.InventoryExchangeItem.ReplacementProductSku | 
    @{
        var hideNew = @Model.InventoryExchangeItem.ReplacementItemCondition == "New" ? "hide" : "";
        var hideUsed = hideNew == "hide" ? "" : "hide";
    }
    <img id="NewIcon" class="@hideNew" src='~/Images/ico_NewMerchandise.png' />
    <img id="UsedIcon" class="@hideUsed" src='~/Images/ico_prelease.png' />

    @Model.InventoryExchangeItem.ReplacementItemCondition
</td>

像这样验证两者需要一些额外的工作,但它确实有效。

关于javascript - 根据 razor 属性值选择要显示的 img,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875563/

相关文章:

c# - Good Practice mvc 条件按钮及其代码

javascript - FineUploader 在 Android 设备上上传到 Azure 档位

c# - 最小起订量错误设置与异步/等待单元测试不匹配

c# - ASP.NET ControllerBase 扩展方法在 Razor View 上不起作用

c# - 单选按钮上的模型绑定(bind)为该属性返回 null (ASP.NET Core)

c# - 将 NHibernate 集合延迟加载到 ViewModel 中?

javascript - 从一系列对象构建家谱

javascript - 在商店 Ext Js 中制作过滤器

javascript - 子目录中的 npm run 命令

c# - 64 位 IIS7 不会运行 32 位 dll,即使启用了 32 位