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

3 javascript c# asp.net types inline-code

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

<%=ApplicationSettingsManager.IdNumber %>
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,如果我需要引用一个Dictionary<String,String>怎么办?还是其他任何稍微复杂的类型?可能吗?我需要以某种方式使用序列化吗?

Dar*_*rov 6

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

是的,建议在将复杂类型传递给j​​avascript时使用JSON序列化.例如,您可以使用JavaScriptSerializer类:

<script type="text/javascript">
    var value = <%= new JavaScriptSerializer().Serialize(AnyComplexObjectYouLike) %>;
</script>
Run Code Online (Sandbox Code Playgroud)

示例Dictionary<string, string>:

<script type="text/javascript">
    var value = <%= new JavaScriptSerializer().Serialize(new Dictionary<string, string> { { "key1", "value1" }, { "key2", "value2" } }) %>;
    alert(value.key1);
</script>
Run Code Online (Sandbox Code Playgroud)

它将呈现为:

<script type="text/javascript">
    var value = {"key1":"value1","key2":"value2"};
    alert(value.key1);
</script>
Run Code Online (Sandbox Code Playgroud)

在最后的标记中.