gpt4 book ai didi

javascript - 使用 Razor 语法调用 JavaScript 函数

转载 作者:太空狗 更新时间:2023-10-30 01:35:20 27 4
gpt4 key购买 nike

我目前正在开发 ASP.Net MVC 应用程序。从我的数据库中,我创建了三个字典并将它们存储在一个 View 模型中。

在 Controller 中用一些逻辑填充所述字典后,我通过 @Model 在我的 View 中访问这些字典

操作完这些字典后,我需要将数据发送到一个 JS 函数,以便将一些逻辑应用到一个名为 DHtmlxScheduler 的 JS 库中

我已经阅读了有关使用 @: 的 Razor 语法的信息,目前正在使用此方法发送两个字符串数组。当试图在 JS 函数中访问这些数组时,它们似乎只包含 System.String[]

代码如下:

var weekArray;
var engArray;

@foreach(var week in Model.WeeklySchedule)
{
var key = week.Key;
var values = week.Value.ToArray();
var eng = Model.EngineerSchedule.Where(k => k.Key == key).Select(v => v.Value).ToArray();
string test = "hello";

@: gatherTimes('@values', '@eng');
}

function gatherTimes(values, engs)
{
for(var i = 0; i < values.length; i++)
{
alert(values[i]);
}

//alert(values);
//alert(engs);

//weekArray[weekArray.length] = values;
//engArray[engArray.length] = engineers;
}

我最终计划遍历数组,它们包含有关时隙和工程师 ID 的信息。如果我可以提供更多信息,我会尽力提供。

最佳答案

您需要使用 JSON.Encode 将列表编码为 JSON。这是一个例子:

@{    
// C# collection
var collection= new List<string> {"A", "B", "C"};
}

<script type="text/javascript">
// encode C# collection to JSON, set to javascript variable
var arr = @Html.Raw(Json.Encode(collection))
for(var i = 0; i < arr.length; i++)
{
console.log(arr[i]); // Output is A B C
}
</script>

在你的情况下它会像这样:

@: gatherTimes('@Html.Raw(Json.Encode(values))', '@Html.Raw(Json.Encode(eng))');    

关于javascript - 使用 Razor 语法调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241459/

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