防止字符串在javascript中变成数字

问题描述

我的 MVC 模型中有一个字符串 100-10-0。我必须在单击 HTML 按钮时将此字符串传递给 javascript 函数。我的代码是:

<button type="button" onclick="DeleteRow(@Model.BarCode)">Click Me!</button>

@Model.BarCode 的值为“100-10-0”。

我的javascript函数是:

function DeleteRow(barCode)
{
    console.log(barCode) // Output is 90
}

这里的问题是,当条形码作为参数传入 javascript 方法时,它会被转换为数字并对其应用减号运算符,这就是它在控制台上显示 90 的原因。我怎样才能防止这种行为?我想要 100-10-0 字符串而不是 90。我如何告诉 javascript 将其视为字符串而不是数字?

解决方法

您应该尝试过,但也许将 arg 作为 javascript 无类型魔法的字符串处理?

function DeleteRow(barCode)
{
    const str = barCode.split("-")
    console.log(str)
} 
,
<button type="button" onclick="DeleteRow(@Html.Raw(Model.BarCode))">Click Me!</button>
,
<button type="button" onclick="DeleteRow('@Model.BarCode')">Click Me!</button>

这为我解决了问题。