【发布时间】:2015-12-16 11:17:29
【问题描述】:
我有一个 JS 函数,我想循环从控制器传递的 c# 对象。然后我想将它与 HTML 输入值进行比较——我已将其作为字符串传递给 JS 函数。 函数被称为
searchReleases($("[name=release]").val());
function searchReleases(givenName) {
var list;
var data = givenName;
@foreach (var a in @Model.Releases) {
if (@a.Name.Contains(givenName)) {
list+= a.Name + "=";
}
}
}
但是我无法在 IF 语句中访问 JS 变量 givenName。 我花了一段时间试图在谷歌上找到答案,但还没有找到可行的解决方案。
【问题讨论】:
-
在编译时 JavaScript 不执行。 C# 代码在服务器端执行,JS 代码在客户端执行。
-
@foreach是剃须刀代码,它在发送到客户端之前在服务器上执行。var list是客户端 javascript 变量,此时不存在。
标签: javascript c# variables model-view-controller