MVC3 und URLs (mit Gebieten, habe ein Problem mit Aufbau einer <a> - tag)
Ich habe ein Problem mit Flächen und die Generierung der links von Ihnen. Hier ist die grobe Struktur des Codes Im arbeiten mit:
Hause
Bereich1
Bereich 1 Inhalt
Area2
Bereich 2 Inhalt
Area3
Bereich 3 Inhalt
In meiner _layout.cshtml-Datei Generiere ich ein Menü (das ist vollständig tabellengesteuert):
foreach (MainMenu mm in parentMenus)
{
List<SubMenu> theseChildren = childMenus.Where(o => o.MainMenuId == mm.MainMenuId).OrderBy(p => p.Ordering).ToList();
result.Append(String.Format(@"<h3><a href='#'>{0}</a></h3>", mm.Name));
result.Append(String.Format(@"<div>"));
result.Append(String.Format(@"<p>"));
foreach(SubMenu sm in theseChildren){
//Issue is here:
result.Append(String.Format(@"<a href='{0}/{1}/{2}'>{3}</a> <br />", sm.AreaName == null ? String.Empty : sm.AreaName, sm.ControllerName, sm.ActionName, sm.Name));
}
result.Append(String.Format(@"</p>"));
result.Append(String.Format(@"</div>"));
}
Es ist gebaut, das war, da es generiert für ein Akkordeon (jQuery).
So, das Problem ist in der foreach-Schleife. Wenn der code ausgeführt wird in der "Home" - Bereich, es ist in Ordnung, aber wenn es läuft außerhalb der home-Bereich, erzeugt es ungerade Ergebnisse.
So, ich habe zum Beispiel einen Datensatz in der Datenbank aufrufen OPS. Es sollte ein link zu OPS/OPS/INDEX (Bereich = OPS, Controller = OPS, Action = INDEX). Im Haus "Raum", es ist in Ordnung, aber wenn es in einem Gebiet, kommt es heraus "http://localhost:17416/Home/OPS/OPS/INDEX"
Jede Hilfe, die zur Verfügung gestellt, wäre toll!
Vielen Dank im Voraus jeder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden:
statt:
Beispiel:
Müssen Sie den code ändern, um anzugeben, ein Gebiet in dem link etwa so:
Sollte dies funktionieren:
Hoffe, das hilft...
Diese oben markierte Antwort wird nicht funktionieren, das Gebiet sollte in Einer Hauptstadt