10

OK 私は DotNetNuke を初めて使用し、DNN で簡単なモジュールを作成して、すべてのユーザー向けに記事を表示し、管理者が記事を編集/新しい記事を追加できるようにする必要があります。

1 つのモジュール定義とその定義内の 2 つのコントロールを持つ DNN モジュールを含むテスト ページがあります。既定のコントロールは、クエリ文字列の articleID フィールドに基づいて記事を表示します。次に、エディット コントロールをロードし、クエリ文字列で articleID を渡すことになっているボタンをクリックします。

EditURL()onClick で使用すると、編集コントロールに正しい articleID が読み込まれますが、管理スキンが使用されます。使用するGlobals.NavigateURL()と、正しいスキンが表示されますが、編集コントロールがページに読み込まれません。

私が間違っていること、または編集コントロールを正しいスキンでロードする方法についての手がかりはありますか?

エディット コントロールに切り替える 2 つの方法 (ボタン クリック イベントで) を以下に示します。

string newURL = this.EditUrl("articleID", Request.QueryString["articleID"], "EditArticle");

        Response.Redirect(newURL);

        string newURL = Globals.NavigateURL(this.TabId, "EditArticle","articleID="+Request.QueryString["articleID"]);

        Response.Redirect(newURL);
4

1 に答える 1

5

実際、あなたはこれを正しく行っています - DNN の editurl は Admin スキンをロードします - 通常、このスキンはコンテンツを管理する誰かに基づいているため、他のすべてのモジュールを取り除き、「基本」を表示します。正しいか間違っているか、これがそれがすることです。

それをしたくない場合は、クエリ文字列にスイッチを指定して別のパネルを表示するか、マルチビュー コントロールを実行して、クエリ文字列のスイッチに基づいてさまざまなビューを表示できます。

コンテンツ領域を ajax でテキスト領域を編集するように変更したり、ポップアップ モーダル スタイル ウィンドウを使用したりするなど、他にもいくつかの方法があります。

于 2009-12-15T23:22:21.047 に答える