2016-05-13 3 views
0

ASP.NET MVC 3 DNNモジュールを異なるページで使用しますが、異なるパラメータを渡すにはどうすればよいですか。私の要件は、province.On別のページに基づいて都市をリストするASP.NET MVCを使用してDNNモジュールを開発することです。部署に基づいてすべての講師を一覧表示します.2つのモジュールを設計する必要はありませんどのパラメータを渡すだけで異なります ありがとうASP.NET MVC 3 DNNモジュールを異なるページで使用しますが、異なるパラメータを渡すにはどうすればよいですか?

答えて

0

これは、コンテンツ管理者がモジュールを使用できるようにするモジュール設定ですが、モジュール設定の値に基づいて異なるページで動作が異なることがあります。 MVCモジュールのモジュール設定の実装を確認するには、私のgithub Restaurant Menu MVC projectをダウンロードしてください。

「データソース」と呼ばれ、設定モジュールビューのデータソースオプションのドロップダウンリスト(例:「地域」、「講師」など)からユーザーが選択できるようにするとこれは、モジュールインスタンスの設定値を更新します。

次にメインビューコントローラで、その設定を取得して、モデルを変更して適切なデータソースを使用することができます。そのデータソースは、一般的に、一連の一連のドロップダウンを表示するためにビューから使用されます(ただし、UIで階層データを表示する必要があります)。ここで

が荒い例である:

public ActionResult Index() 
{ 
    string dataSrcSetting = "region"; 
    if (ModuleContext.Settings.ContainsKey("Data_Source")) 
    { 
     dataSrcSetting = ModuleContext.Settings["Data_Source"].ToString(); 
    } 

    // Get model 
    var model = new HierarchyDataModel(); 
    if (dataSrcSetting.Equals("region")) 
    { 
     model.ParentData = businessLogic.getCountries(); 
     model.ChildData = businessLogic.getRegions(); 
    } 
    else if (dataSrcSetting.Equals("lecturer")) 
    { 
     model.ParentData = businessLogic.getDepartments(); 
     model.ChildData = businessLogic.getLecturers(); 
    } 

    return View(model); 
} 
+0

これは、その後も、はるかに良い私の問題を明確にするかもしれないあなたに – Farai

+0

をfeedback.Thanksを与える私はあなたのガイドラインをテストする私の問題を解決するために約束している、私は2ページそれぞれを持っています検索のための2つのドロップダウンリストがありますが、私はそれらを単一のmvcコントローラに接続して、表示しているページに応じて異なる結果を戻す必要があります。 – Farai

+0

これを試したことはありませんが、上記の設定を使用できますが、設定に基づいてモデルを変更して同じビューを返す代わりに、2つの新しいアクションメソッド(Region()とLecture() )あなたの2つのビュー(Region.cshtmlとLecture.cshtml)と一緒に行く。各アクションは、適切なデータモデルを構築します。次に、あなたが呼び出す設定のための 'if'ステートメントで:return RedirectToAction( "Region")またはRedirectToAction( "Lecture")を返します。このようにして、Index(またはデフォルトビュー)はモジュールの設定に応じて別のビューを返します。 – DotNetNuclear

関連する問題