问题描述
我的 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>
这为我解决了问题。