【发布时间】:2018-08-28 14:28:34
【问题描述】:
我正在尝试将 DateTime 变量从 @Html.EditorFor 传递给 JavaScript 函数,但出现错误。
我当前的行循环了多次,所以需要是唯一的,但是:
@Html.EditorFor(model => model.Periods[i].EndTime, new { htmlAttributes = new { @class = "form-control", id = $"endTime {i}", onchange = $"checkChanged({Model.Periods[i].EndTime})" } })
链接到以下的 JavaScript 函数:
function checkChanged(newTime) {
console.log(newTime);
}
当我运行此代码并更改文本框时,我收到控制台错误 Uncaught SyntaxError: missing ) after argument list 但调用正在接收日期。 https://imgur.com/a/WlE9y
【问题讨论】:
-
您将日期传递给
checkChanged,但您忘记在其周围添加引号。 -
我在它周围添加了单引号,但它认为它是一个字符串并返回:Model.Periods[i].StartTime。现在的代码是:onchange = $"checkChanged('Model.Periods[i].EndTime')"
-
全部解决。非常感谢并发布代码作为解决方案!
标签: javascript c# asp.net entity-framework