1

Dojo のdijithtml5 タグは、属性名 data-dojo-props を使用します。値は基本的に、プロパティ名を引用符で囲み、最も外側の中かっこを含まない JSON 文字列です。

こんな感じです。

data-dojo-props="prop1:'xyz', prop2:true, prop3: { subprop1: 1, subprop2: 'abc'}"

JSON.NET を使用して C# オブジェクトからこれを書き出すために C# を使用し、オブジェクト ポインターを渡します。プロパティ名の引用符を除外する設定を見つけましたが、外側の中かっこを削除する適切な方法がわかりません。

今のところ、正規表現を使用して文字列を実行してそれらを削除しますが、誰かが新しいより良い方法を持っているかどうか疑問に思っていました.

4

1 に答える 1

0

各最上位プロパティを個別にシリアル化し、グローバルな JavaScript 変数にします。次に、その変数を で参照しますdata-dojo-props。それほどエレガントではないことは認めます。

上記のアプローチに関する私の懸念は、の値にsubprop2引用符が含まれている場合、パーサー エラーが発生することです。

<script type="text/javascript">
    menuData = {THE SERIALIZED JSON GOES HERE};
</script>
<div data-dojo-type="SomeWidget" data-dojo-props="menuData: menuData"></div>
于 2013-01-18T13:46:02.047 に答える