1

モジュールを作成していますが、ビュータイプとしてユーザーコントロールを追加でき、すべてが機能しました。ビュータイプとして2つ目のコントロールを追加したいのですが、そこから問題が発生します。

モジュール定義に新しいコントロールを追加しただけでは、そのコントロールのみが表示され、両方は表示されません。削除すると、元のコントロールが正常に表示されます。モジュール定義に戻って、モジュールコントロールに移動し、それぞれのキープロパティに値を割り当てました。保存すると、モジュールが表示されていたページから消えます。もう一度追加しようとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。

キーを削除すると、(少なくとも上記のように)再び機能するモジュールを再度追加できることがわかったのは、試行錯誤の結果でした。

基本的に、モジュールに複数のビューが必要であり、個々のビューを異なるページに表示できます(ブログモジュールのように)。私は配布用のパッケージを作成していないので、別のモジュールを作成するところまで来ていますが、その中での学習経験はどこにありますか?

運が悪かった複数のビューを持つモジュールを作成するためのチュートリアルを検索しました。誰かがいくつかの洞察を提供できますか?

4

3 に答える 3

0

DotNetNuke では、'View' は 1 つしか存在できないため、状況に応じて異なるビューを表示するものを作成したい場合は、Dispatch ビューを作成する必要があります。したがって、モジュールの設定、または URL パラメーター、Cookie、セッションに応じて、プライマリ ビュー内の何かが別のユーザー コントロールを取得して、必要なものを表示します。

この投稿では、それについて少し説明しますDispatch View

あなたに合った解決策を見つけたようですね。

于 2010-12-13T01:56:49.927 に答える
0

DotNeNuke はすぐに使用できる複数のビューの使用もサポートしていますが、別のビューに切り替えるとすぐに、モジュールは「分離モード」に入り、ページに表示される唯一のモジュールになります。

この動作がうまくいく場合は、複数のコントロールを追加できます。最初のコントロールはキーなしで追加し、2 番目のコントロールは特定のキーで追加します。その後、NavigateUrl または EditUrl を使用して、特定のコントロールへのリンクを作成できます。

「編集」の観点から見ると、このパターンを使用すると、ユーザーはモジュールのみを使用する一貫した環境を確保できます。ビューの観点からは、他のパターンを使用する方が「より良い」選択であることが一般的です。

于 2010-12-13T14:12:30.587 に答える
0

モジュール設定を使用して、そのインスタンスに必要なディスプレイを選択することで、この問題を回避しました。私の場合、この設定を使用して、どのフロントエンドが表示可能で、どれがバックエンドコードと同様に表示されていないかを判断しました.

もう 1 つのオプションは、プレースホルダーであるビュー ascx を 1 つ持ち、モジュール設定に基づいて必要ないずれかの ascx ビューを挿入することです。

私は以前にこれらの両方の方法を使用しましたが、どちらもうまく機能します

于 2010-12-09T11:38:20.793 に答える