在Asp.net MVC Razor语法中使用JavaScript变量

在Asp.net MVC Razor语法中使用JavaScript变量,javascript,asp.net,asp.net-mvc,razor,Javascript,Asp.net,Asp.net Mvc,Razor,如何在ASP.NET MVC Razor指令中使用JavaScript变量 例如: function updChart(_IndId) { @foreach (var d in Model.Where(p => p.IndId.Equals(_IndId))) ... } 我不能使用\u IndId变量。你知道如何使用它吗?你不能这样做。Razor视图在服务器上编译和执行,其结果是HTML页面,然后返回到客户端(浏览器)。JavaScript在浏览器中运行,允许您处理已从服务

如何在ASP.NET MVC Razor指令中使用JavaScript变量

例如:

function updChart(_IndId) {

    @foreach (var d in Model.Where(p => p.IndId.Equals(_IndId)))

...
}

我不能使用
\u IndId
变量。你知道如何使用它吗?

你不能这样做。Razor视图在服务器上编译和执行,其结果是HTML页面,然后返回到客户端(浏览器)。JavaScript在浏览器中运行,允许您处理已从服务器返回的HTML页面的DOM。

您不能这样做。Razor视图在服务器上编译和执行,其结果是HTML页面,然后返回到客户端(浏览器)。JavaScript在浏览器中运行,允许您处理已从服务器返回的HTML页面的DOM。

您不能在C#中使用JavaScript变量,因为JavaScript代码只有在呈现C#/Razor后才可用

您可以做的是将模型保存在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

不能在C#中使用Javascript变量,因为Javascript代码只有在呈现C#/Razor之后才可用

您可以做的是将模型保存在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

那么,我的替代方案是什么呢?如果您需要部分更新页面上的内容,您必须向服务器发出AJAX请求,获取数据并将其应用于页面的特定部分。Razor是一个通用模板引擎,可用于返回JavaScript。我认为这是一个可能在未来得到解决的领域。我想没有什么能阻止您创建一个预处理JavaScript文件的MVC端点。那么我的替代方案是什么呢?如果您需要部分更新页面上的内容,您必须向服务器发出AJAX请求,获取数据并将其应用于页面的特定部分。Razor是一个通用的模板引擎,可用于返回JavaScript。我认为这是一个可能在未来得到解决的领域。我想没有什么能阻止你创建一个预处理JavaScript文件的MVC端点。你想用这个变量做什么?不起作用。我应该在哪里声明这个函数?在我的updChart函数内部还是外部?相关:可能与您试图使用此变量进行的操作重复?不起作用。我应该在哪里声明该函数?在我的updChart功能内部或外部?相关:可能重复