Javascript 如何使用Razor语法将ViewBag中的数组转换为JScript数组?

Javascript 如何使用Razor语法将ViewBag中的数组转换为JScript数组?,javascript,c#,arrays,asp.net-mvc,razor,Javascript,C#,Arrays,Asp.net Mvc,Razor,我正试图将以下razor语法重新编码为可行的代码,但我被卡住了: var ServiceIndex = @ViewBag.ServiceID ; var ServiceName = @ViewBag.ServiceName ; var ServiceNotes = @ViewBag.ServiceNotes ; 我的问题是,现在这3个数组的ViewBag是空的,因此它吐在一个分号上。您需要在服务器端将其转换为JSON <script> var Ser

我正试图将以下razor语法重新编码为可行的代码,但我被卡住了:

    var ServiceIndex = @ViewBag.ServiceID ;
    var ServiceName = @ViewBag.ServiceName ;
    var ServiceNotes = @ViewBag.ServiceNotes ;

我的问题是,现在这3个数组的ViewBag是空的,因此它吐在一个分号上。

您需要在服务器端将其转换为JSON

<script>
    var ServiceNotes = @(Html.Raw(JsonConvert.SerializeObject(ViewBag.ServiceNotes)));
    var ServiceName = @(Html.Raw(JsonConvert.SerializeObject(ViewBag.ServiceName)));
    var ServiceIndex = @(Html.Raw(JsonConvert.SerializeObject(ViewBag.ServiceIndex)));
</script>
为了便于调试和避免嵌套函数调用,还可以拆分序列化和输出

@{
   string serviceNotesJson = JsonConvert.SerializeObject(ViewBag.ServiceNotes);
   string serviceNameJson = JsonConvert.SerializeObject(ViewBag.ServiceName);
   string serviceIndexJson = JsonConvert.SerializeObject(ViewBag.ServiceIndex);
}

@section scripts 
{
    <script>
        var ServiceNotes = @(Html.Raw(serviceNotesJson));  
        var ServiceName = @(Html.Raw(serviceNameJson));
        var ServiceIndex = @(Html.Raw(serviceIndexJson));
    </script>
}
@{
字符串serviceNotesJson=JsonConvert.SerializeObject(ViewBag.ServiceNotes);
字符串serviceNameJson=JsonConvert.SerializeObject(ViewBag.ServiceName);
字符串serviceIndexJson=JsonConvert.SerializeObject(ViewBag.ServiceIndex);
}
@节脚本
{
var ServiceNotes=@(Html.Raw(serviceNotesJson));
var ServiceName=@(Html.Raw(serviceNameJson));
var ServiceIndex=@(Html.Raw(serviceIndexJson));
}

另一个问题不涉及
JsonConvert.SerializeObject
@{
   string serviceNotesJson = JsonConvert.SerializeObject(ViewBag.ServiceNotes);
   string serviceNameJson = JsonConvert.SerializeObject(ViewBag.ServiceName);
   string serviceIndexJson = JsonConvert.SerializeObject(ViewBag.ServiceIndex);
}

@section scripts 
{
    <script>
        var ServiceNotes = @(Html.Raw(serviceNotesJson));  
        var ServiceName = @(Html.Raw(serviceNameJson));
        var ServiceIndex = @(Html.Raw(serviceIndexJson));
    </script>
}