在 javascript 代码中使用 ASP.net 模型。除了使用 <text> 之外还有其他方法吗?

Using ASP.net model in a javascript code. Any other approach other than using <text>?

我目前正在从我的控制器获取一些数据,我正在我的 cshtml 文件中使用这些数据。 从技术上讲,此数据仅供 javascript 使用。所以我这样做

    $(document).ready(function () {

    var responses = [];

    @foreach (var logItem in @Model.items)
    {
        <text>
        action = '@Html.Raw(@logItem.ActionString)';   
        actions.push(action);  
        </text>
    }

   SomeJSFunciton(actions);
});

以上解决了问题,但是有两个问题

  1. 所有这些的文本都写在 $(document).ready function
  2. 我想调用一个js函数 在将其插入数组之前执行操作。我不知道该怎么做 那?

关于完成此任务的最佳方法有什么建议吗?

随着复杂性的增加,像这样混合代码会变得很痛苦。我幸运的是将服务器数据编码为 JSON,如下所示:

var myServerData = @Html.Raw(Json.Encode(myServerData));

这样您的服务器数据将采用 JSON 格式,您将能够以 JavaScript 格式编写所有代码。所以你的代码会变成:

for(var i = 0; i < myServerData.length; i++){
    action = myServerData[i]['ActionString'];
    // Here would be where you would call your function before inserting into array
    actions.push(action);
}
SomeJsFunctions(actions);