繁体   English   中英

c#字符串数组到JS数组

[英]c# string array to JS array

我想在JS插件中使用带有razor语法的C#字符串数组。

C#代码:( 在cshtml中)

@{
    string[] extentions = new string[] { "jpg", "png", "gif", "jpeg", "pdf" };
}

JS代码:

  $('#file').filer({
        limit: 2,
        maxSize: 4000,
        extensions: ["jpg", "png", "gif", "jpeg", "pdf"],
        ...
  })

带有C#string []的JS代码:

  $('#file').filer({
        limit: 2,
        maxSize: 4000,
        extensions: '@extentions',
        ...
  })

在这种情况下,我得到System.String[] ,如果我使用JsonConvert.SerializeObject(extentions)我得到这样的东西:

["jpg","png","gif","jpeg","pdf"]

以我想要的格式将c#字符串数组转换为Js数组的最佳方法是什么?

使用

@Html.Raw(JsonConvert.SerializeObject(extentions))

Html.Raw确保参数不会被html编码,因此你不会得到" 而不是"不再。

@{
    <text>[</text>
    foreach (string extension in extensions)
    {
        <text>"@extension", </text>
    }
    <text>]</text>
}

上面的代码将产生输出:

["jpg", "png", "gif", "jpeg", "pdf", ]

这是通过使用<text></text>标记完成的,该标记允许您在要在View中显示的标记之间插入标记。

在开始时,插入[ char。 然后,它遍历每个扩展并输出"extension", 循环完成后,它会插入一个] char来结束有效的JavaScript数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM