3

CRM 2011 プロジェクトの 1 つで、TypeScript を使用してクライアント側のロジックを実装しています。ここまでは順調ですね。

ただし、セクションに関する Xrm2011.1_0.d.ts ファイルに何か問題があるようです。タブとセクションは次のように定義されています。

module Xrm {
    export module Page {
        ...
        export module ui {
            ...
            export module tabs {
                ...
                export function get(tabName: string): Tab;
                ...
                export module sections {
                    ...
                    export function get(sectionName: string): Section;
                    ...
                }
            }
        }
    }
}

これにより、typescriptをそのまま実装する必要があります。

var section = <Xrm.Page.Section>Xrm.Page.ui.tabs.sections.get(sectionName);

次のようにコンパイルされます。

Xrm.Page.ui.tabs.sections.get(sectionName); 

ただし、正しい JavaScript 構文は次のようになります。

Xrm.Page.ui.tabs.get(tabName).sections.get(sectionName);

誰もこれを経験しましたか?ここで何か不足していますか?

前もって感謝します。

4

1 に答える 1

0

最後の構文は機能しません。Tab はクラスではないため、tabs.get は Tb クラスを返しますが、Tab クラスには .sections プロパティがありません。また、キャストする必要はありません。

Ps....モジュールをドット表記「export Xrm.Page.ui.tabs」で宣言してみてください。コードが読みやすくなります。

また、一部のクラスを大文字にし、一部を大文字にしない理由は何ですか?

于 2013-06-24T05:43:55.237 に答える