gpt4 book ai didi

javascript - 在 C# 中使用 JavaScript 数组填充 Razor 表

转载 作者:行者123 更新时间:2023-11-30 20:26:48 25 4
gpt4 key购买 nike

我有一个 javascript 数组,该数组从 rest 中检索。我想在 razor foreach 中填充这个数组结果。但是我无法在 javascript 中访问我的全局数组结果。我该怎么做?

这是我的javascript;

function getAlarmModels(cb) {
$.ajax({
url: "SomeURL",
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: failureCb,
success: successCb,
timeout: 60000
});

function failureCb(jqXHR, textStatus, errorThrown) {
var errorCode = jqXHR.status;
var errorText = textStatus;
console.log("Error Code [" + errorCode + "]: " + errorText);
if (cb)
cb(null);
}

function successCb(data) {
window.PreviousBill = JSON.parse(data);
if (cb)
cb(JSON.parse(data));
}
}

这是 Razor ;

@for (int i = 0; i <window.PreviousBill.Count ; i++)
{

}
}

我如何访问“window.PreviousBill”?

最佳答案

您不能使用 Razor 呈现通过 AJAX 接收的数据。原因是页面生命周期:

1) Controller 操作处理请求并返回 View 。

2) 在服务器端使用 Razor 呈现 View ,生成的 HTML 被传送到客户端。

3) 客户端接收 HTML 并在客户端执行任何嵌入的 JavaScript。这包括任何 AJAX 调用。

如您所见,在您的 JS 代码运行时,任何 Razor 语法都已长时间转换为 HTML。另一方面,在 Razor 呈现 View 时,还没有可用的 JS 变量。

你可以做什么:

  • 对您的 AJAX 调用的回复返回已在服务器端使用 Razor 呈现的完成的 HTML(而不是 JSON)。
  • 使用 JS 模板语言,如 Mustache使用 JS 而不是 Razor 在客户端呈现 JSON 数据。

关于javascript - 在 C# 中使用 JavaScript 数组填充 Razor 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50812218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com