Wie benutze ich das ASP.NET MVC 3 DNN Modul auf verschiedenen Seiten, aber übergebe verschiedene Parameter? Meine Anforderung ist die Entwicklung eines DNN-Moduls mit ASP.NET MVC, die Städte nach Provinz auflistet.Auf einer anderen Seite Liste alle Dozenten basierend auf einer Abteilung.Ich möchte nicht 2 Module, die nur variieren, welcher Parameter ist, DankWie benutze ich das ASP.NET MVC 3 DNN Modul auf verschiedenen Seiten, aber übergebe verschiedene Parameter?
Antwort
Die Art, wie ich dies tun würde, ist mit einer Moduleinstellung, die einem Inhaltsadministrator erlaubt, Ihr Modul zu verwenden, aber mit unterschiedlichem Verhalten auf verschiedenen Seiten basierend auf dem Wert der Moduleinstellung. Um eine funktionierende Implementierung von Moduleinstellungen in einem MVC-Modul anzuzeigen, laden Sie meinen GitHub Restaurant Menu MVC project herunter.
Wenn Ihre Einstellung beispielsweise "Datenquelle" lautet und Sie dem Benutzer erlauben, in der Modulansicht Einstellungen aus einer Dropdown-Liste mit Datenquellenoptionen auszuwählen (z. B. "Regionen", "Dozenten" usw.) , das einen Einstellungswert für Ihre Modulinstanz aktualisiert.
Dann können Sie in Ihrem Hauptansicht-Controller diese Einstellung abrufen und das Modell so ändern, dass die richtige Datenquelle verwendet wird. Diese Datenquelle wird in Ihrer Ansicht standardmäßig verwendet, um eine kaskadierende Gruppe von Dropdown-Elementen darzustellen (oder wie auch immer die Benutzeroberfläche die Hierarchiedaten darstellen soll).
Hier ist ein einfaches Beispiel ist:
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);
}
- 1. DNN MVC-Modul - Wie greife ich auf Einstellungen zu?
- 2. benutze ich asp.net mvc richtig?
- 3. Wie übergebe ich mehrere Modelle zu Teilansichten in ASP.NET MVC
- 4. Wie DNN-Modul in HTML-Modul enthalten
- 5. Wie übergebe ich mehrere Objekte in ASP.NET MVC an ViewPage?
- 6. DNN Modul Berechtigungen - nur Superuser?
- 7. Wie benutze ich WebApi Controller über URL in ASP.Net MVC
- 8. ASP.NET MVC - POST-Parameter
- 9. Pass Parameter von ASP.Net MVC 3 zu ASP.Net Webform
- 10. Verschiedene Größe auf Nav-bar auf verschiedenen Seiten
- 11. DNN Ereignis Modul Fehler
- 12. Wie übergebe ich Parameter an die Teilmenge()?
- 13. Verschiedene Domänen zu verschiedenen Seiten in IIS7
- 14. ASP.NET MVC: Standardseite funktioniert, aber andere Seiten geben 404 Fehler
- 15. Wie übergebe ich dynamische Parameter in Rails?
- 16. Laravel zeigt verschiedene Posts auf verschiedenen Seiten an
- 17. 404 Seiten in ASP.NET MVC
- 18. asp.net ASPX-Seiten mit asp.net mvc Projekt
- 19. Wie übergebe ich @selector als Parameter?
- 20. Wie benutze ich ein Base ViewModel in Asp.net MVC 2
- 21. ASP.Net MVC 3 Grids
- 22. ASP.NET MVC und MemoryCache - wie benutze ich es?
- 23. Wie übergebe ich mehrere Parameter in URL?
- 24. Wie übergebe ich das Eingabeelement als Parameter in ng-blur?
- 25. ASP.Net MVC 3 AutoMapper
- 26. ASP.NET MVC 3 Anforderungen
- 27. ASP.NET MVC 3 _Layout.cshtml Controller
- 28. Wie benutze ich den Seiten-Scroll auf ngGridEventScroll?
- 29. Wie übergebe ich Parameter an XSLT?
- 30. Was ist ASP.NET MVC 2 Möglichkeit, das gleiche Modell auf zwei verschiedene Arten zu repräsentieren
Das ist viel versprechend, mein Problem zu lösen i mit Ihren Richtlinien testen Sie dann feedback.Thanks – Farai
geben Vielleicht mein Problem noch viel besser zu klären, ich habe 2 Seiten je mit 2 Dropdown-Listen für die Suche, aber ich brauche sie auf einen einzigen MVC-Controller und bringen Sie unterschiedliche Ergebnisse zurück, je nachdem, welche Seite Sie gerade sehen. – Farai
Ich habe das nicht versucht, aber Sie könnten die Einstellungen wie oben beschrieben verwenden, aber anstatt das Modell basierend auf der Einstellung zu ändern und die gleiche Ansicht zurückzugeben, könnten Sie zwei neue Aktionsmethoden erstellen (Region() und Lecture()), die mit Ihren 2 Ansichten (Region.cshtml und Lecture.cshtml) gehen. Jede Aktion würde das entsprechende Datenmodell aufbauen. Dann würden Sie in der 'if' Anweisung für die Einstellung aufrufen: return RedirectToAction ("Region") oder RedirectToAction ("Lecture") zurückgeben. Auf diese Weise würde Ihr Index (oder die Standardansicht) abhängig von der Moduleinstellung eine andere Ansicht anzeigen. – DotNetNuclear