为了账号安全,请及时绑定邮箱和手机立即绑定

用c#中的javascript数组填充剃须刀表

用c#中的javascript数组填充剃须刀表

C#
拉丁的传说 2021-08-07 16:11:47
我有一个 javascript 数组,该数组从休息中检索。我想在 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));    }}这是剃刀;@for (int i = 0; i <window.PreviousBill.Count ; i++)    {    }}我如何访问“window.PreviousBill”?
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

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

1) 控制器动作处理请求并返回一个视图。

2) 在服务器端使用 Razor 渲染视图,将生成的 HTML 传递给客户端。

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

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

你可以做什么:

  • 对您的 AJAX 调用的回复返回已在服务器端使用 Razor 呈现的完成的 HTML(而不是 JSON)。

  • 使用像Mustache这样的 JS 模板语言在客户端使用 JS 而不是 Razor 呈现 JSON 数据。


查看完整回答
反对 回复 2021-08-07
  • 1 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信