3

ApplicationSettingsManager というクラスがあり、ASP .net ページで Javascript から参照する必要がある String があるとします。次のことを行いました。

<%=ApplicationSettingsManager.IdNumber %>

そして、それはうまくいきます。しかし、 を参照する必要がある場合はどうすればよいDictionary<String,String>でしょうか? それとも、もう少し複雑なタイプですか?出来ますか?どういうわけかシリアル化を使用する必要がありますか?

4

3 に答える 3

6

どういうわけかシリアル化を使用する必要がありますか?

はい、複雑な型を 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>

最終的なマークアップで。

于 2012-01-27T09:17:59.590 に答える
0

デフォルトで含まれていない名前空間を使用したい場合は、それらをファイルの先頭にインポートする必要があります。たとえば、System.Collections.Generic 名前空間で定義されている Dictionary の場合、次のように記述する必要があります。

<%@ Import Namespace="System.Collections.Generic" %> 
于 2012-01-27T09:46:24.050 に答える
0

私は昨日これをしました:

<%@ Import Namespace="System.Linq" %>
于 2012-01-27T09:16:55.723 に答える