2016-03-27 1 views
0

ich unter Schnipsel verwendet habe Benutzer auf unterschiedliche Aktion/Ansichten basierend auf ausgewählten Vertragstyp zu umleiten:ASP.Net MVC5: Bereich Layout-Änderungen während RedirectToAction

public ActionResult Create(ContractViewModelCreate contract) 
{ 
    if (ModelState.IsValid) 
    { 
     if (contract.ContractType == Contract.ContractTypeENUM.SectionBased) 
      return RedirectToAction("Create", "SectionBasedContract", new { area = "Admin" }); 
     else if (contract.ContractType == Contract.ContractTypeENUM.UnitBased) 
      return RedirectToAction("Create", "UnitBasedContract", new { area = "Admin" }); 
     else 
      return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 
    Utils.AddErrorsString(ModelState, "Select project type"); 
    return View(contract); 
} 

jedoch die ersten RedirectToAction zum Lesen von Layout-Datei führt durch Ausführen von _ViewStart.cs in Admin Bereich und 2. führt zu _ViewStart.cs im root-Anwendungsgebiet ausgeführt und kümmern sich nicht um Route Objekte (im Admin-Bereich laufen). Da diese Aktion im Admin-Bereich ausgeführt wird, führt die Ausführung von return RedirectToAction("Create", "UnitBasedContract", new { area = "Admin" }); zu Layoutänderungen.

Ich kann den Grund nicht finden, weiß jemand den Grund?

Antwort

1

Das Problem verursacht durch die Tatsache, dass ich vergessen habe, Dateien von UnitBasedContractController zu Admin Bereich zu verschieben, und ich hatte sie im globalen Anwendungsbereich verlassen. Also die _ViewStart.cs der globalen Ansichten für meine Ansichten aufgerufen.