c# - 可以从 ASP .net 访问哪些 C# 类型?

标签 c# javascript asp.net types inline-code

假设我有一个名为 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/

相关文章:

C#,我可以在读取 SQL Server 表时插入和删除它吗

javascript - 提取匹配的文本及其相邻上下文 n 个词上游 n 个词下游(左起第 n 次出现和右起第 n 次出现)

javascript - 如何在 Safari 中播放/解码 Ogg Opus 音频?

c# - 我应该如何从我的服务层方法中公开总记录数和分页记录的 IEnumerable 集合?

c# - master.page 中的不同菜单取决于登录类型

c# - 是否可以从 C# 重定向 stdio sprintf_s?

c# - .NET 相当于 Android SDK AsyncTask(我需要在后台线程上执行操作时显示进度条)

c# - 我怎样才能延迟关机直到 virtualbox 关闭

JavaScript:如何使工具提示跟随光标*和*碰撞?

javascript - 为什么 IE 不识别 __SCROLLLPOSITIONY?它抛出未定义的 JS 运行时错误