如何在ASP.NET MVC Razor指令中使用JavaScript变量?
示例:
function updChart(_IndId) {
@foreach (var d in Model.Where(p => p.IndId.Equals(_IndId)))
...
}
我无法使用_IndId
变量。知道怎么用吗?
答案 0 :(得分:1)
你不能这样做。 Razor视图在服务器上编译和执行,其结果是HTML页面,然后返回到客户端(浏览器)。 JavaScript在浏览器中运行,允许您使用已从服务器返回的HTML页面的DOM。
答案 1 :(得分:1)
您不能在C#中使用Javascript变量,因为只有在呈现C#/ Razor后才能使用javascript代码。
你可以做的是将模型保存在Javascript数组中,然后在Javascript中执行foreach循环:
var model = [];
@foreach (var item in Model)
{
@:model.push({
@:ID: '@item.ID',
@:Property1: '@item.Property1',
@:Property2: '@item.Property2',
@:Property3: '@item.Property3',
@:});
}
console.log(model);
// here you can filter and do the foreach in Javascript, because your model is available as a Javascript array