0

DotnetNukeに新しく追加されました。私はDotnetNukeのすべての用語を知らない。私を修正してください。それが私の改善に役立ちます。DotnetNukeの別のビュー(UserControl '.ascx')にリダイレクトする方法は?

私は2のUserControlを使用した単純なプロジェクトを作成しています。 1- View.ascx、2- ModuleInfo.ascx

1- View.ascx: それはボタンを含んでいます。別のユーザーコントロールにリダイレクトしたいModuleInfo.ascx ここはコードです。

protected void btn1_Click(object sender, EventArgs e) 
{ 
    Response.Redirect(DotNetNuke.Common.Globals.NavigateURL("ModuleInfo"), true); 
} 

2- ModuleInfo.ascx これは、静的テーブルを含みます。私は、DotNetNukeのにモジュールを追加する方法

1- Add .zip file of build project to Admin --> Extension 
2- Edit Module from Host --> Extension --> Edit Module --> Edit Definition --> Add Module Control --> Added key "ModuleInfo" and selected view. 
3- Created new page and added module to it. 

ページのロードが、View.aspxで結構です。ボタンがあります。しかし、ボタンをクリックすると、ページにリダイレクトされますが、空白になります。それは表を示すはずです。私はここで何をしないのです場合

誰が私を提案してくださいことはできますか?

答えて

1

NavigateUrlが動作するために追加の引数にtabIdおよびモジュールIDを含める必要があります。モジュール内のビューにナビゲートする簡単な方法は、ビューのcontrolKeyだけを必要とするbase.EditUrl()を使用するだけです。以下のコードスニペットを参照してください。miUrlを設定する両方の行は同等です。

protected void btn1_Click(object sender, EventArgs e) 
{ 
    string miUrl = base.EditUrl("ModuleInfo"); 
    string miUrl = DotNetNuke.Common.Globals.NavigateURL(base.TabId, "ModuleInfo", String.Format("mid={0}", base.ModuleId)); 

    Response.Redirect(miUrl, true); 
} 
+0

それは正常に動作しています。他のモジュールにどのようにリダイレクトできますか?つまり、私はモジュールTest1におり、モジュールTest2にリダイレクトしたいと考えています。この場合、キーはありません。別のモジュール定義からある別のモジュールビューに移動するためには、 –

+1

蘭芝を提案してください、あなたはモジュールIDとTabIdの両方を知っておく必要があり、あなたが上記のようなNavigateUrlを()を使用することができます。通常は、管理者がリダイレクトするモジュールとページを選択するためのモジュール設定を追加します。モジュール定義名を使用してすべてのモジュールインスタンスのリストを取得するには、ModuleController.GetModulesByDefinition()を使用します。 – DotNetNuclear

関連する問題