假设我有一个名为 ApplicationSettingsManager 的类,并且我有一个字符串需要在我的 ASP .net 页面上从 Javascript 引用,我已经完成了以下操作:
<%=ApplicationSettingsManager.IdNumber %>
而且效果很好。但是,如果我需要引用 Dictionary<String,String>
怎么办? ?或者任何其他稍微复杂的类型?是否可以?我需要以某种方式使用序列化吗?
最佳答案
Do I need to use serialization somehow?
是的,向javascript传递复杂类型时推荐使用JSON序列化。例如,您可以使用 JavaScriptSerializer类:
<script type="text/javascript">
var value = <%= new JavaScriptSerializer().Serialize(AnyComplexObjectYouLike) %>;
</script>
带有 Dictionary<string, string>
的示例:
<script type="text/javascript">
var value = <%= new JavaScriptSerializer().Serialize(new Dictionary<string, string> { { "key1", "value1" }, { "key2", "value2" } }) %>;
alert(value.key1);
</script>
将呈现为:
<script type="text/javascript">
var value = {"key1":"value1","key2":"value2"};
alert(value.key1);
</script>
在最终标记中。
关于c# - 可以从 ASP .net 访问哪些 C# 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031084/