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

What C# types can be accessed from ASP .net?

本文关键字:ASP net 访问 类型 哪些      更新时间:2023-09-26

假设我有一个名为ApplicationSettingsManager的类,并且我的ASP.net页面上有一个需要从Javascript引用的String,我已经完成了以下操作:

<%=ApplicationSettingsManager.IdNumber %>

而且效果很好。但是如果我需要引用Dictionary<String,String>呢?或者其他稍微复杂一点的类型?有可能吗?我是否需要以某种方式使用序列化?

我是否需要以某种方式使用序列化?

是的,建议在将复杂类型传递给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>

在最终标记中。

我昨天做了这个:

<%@ Import Namespace="System.Linq" %>

如果您想使用默认情况下不包含的名称空间,则必须在文件开头导入它们。例如,对于在System.Collections.Generic命名空间中定义的Dictionary,您必须编写:

<%@ Import Namespace="System.Collections.Generic" %>