我目前正在从我的 Controller 获取一些数据,我正在我的 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);
});
上面解决了问题,但是有两个问题
- 所有这些的文本都写在
$(document).ready函数
- 我想调用一个 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);
关于javascript - 在 javascript 代码中使用 ASP.net 模型。除了使用 <text> 之外还有其他方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244246/