[英]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.