1

ich wie eine Ansicht Dateistruktur haben:Problem bestimmte Ansicht in asp.net MVC3 Rückkehr

Views 
    Company 
     Department 
     Employee 
      ManageEmployee.cshtml 

und die Steuerung ist

public class EmployeeController : Controller 
{ 
    public ActionResult Index(int dptId) 
    { 
      var loadedEmp = getEmpOf(dptId); 
      return View("Company/Employee/ManageEmployee", loadedEmp); 
    } 
} 

Aber der Controller mir ein Fehler geben - sagen, dass es finde die Ansicht nicht. Das sind die Wege, die sie suchen.

~/Views/Employee/Company/Employee/ManageEmployees.aspx 
~/Views/Employee/Company/Employee/ManageEmployees.ascx 
~/Views/Shared/Company/Employee/ManageEmployees.aspx 
~/Views/Shared/Company/Employee/ManageEmployee.ascx 
~/Views/Employee/Company/Employee/ManageEmployee.cshtml 
~/Views/Employee/Company/Employee/ManageEmployee.vbhtml 
~/Views/Shared/Company/Employee/ManageEmployee.cshtml 
~/Views/Shared/Company/Employee/ManageEmployee.vbhtml 

Grundsätzlich, wenn ich in der Lage bin den Mitarbeiter Abschnitt zu beseitigen, wird der Motor es finden.

~/Views/Mitarbeiter /Company/Employee/ManageEmployee.cshtml dieser

~/Ansichten/Unternehmen/Mitarbeiter/ManageEmployee.cshtml

Keine Erkenntnisse darüber, wie dies zu erreichen.

Danke.

+0

Ein bisschen irrelevant/etwas verwandt, aber vielleicht mit T4MVC in Betracht ziehen? Dies wird "magische Saiten" vermeiden. Es hilft definitiv beim manuellen Eingeben von Ansichtsnamen - http://mvccontrib.codeplex.com/wikipage?title=T4MVC –

+0

* Sie haben hier zwei Optionen * ** Option # 1 ** * Erstellen Sie die Firma/Abteilung/Mitarbeiterverzeichnis in ** Freigegebener Ordner **. Sie können den freigegebenen Ordner innerhalb des View-Ordners des Root-Verzeichnisses finden. * ** Option # 2 ** * Erstellen Sie das Mitarbeiter/Unternehmen/Abteilung/Employee Directory Indide anzeigen Verzeichnis von Ihrem Root-Ordner. * –

Antwort

1

Sie benötigen MVCs Konvention von ControllerNameController für Ihren Controller und Ihre Ansicht Struktur controller/...

Wenn Sie die volle Kontrolle über Ihre Struktur folgen möchten Sie zu einem anderen Rahmen, wie FubuMVC wechseln müssen.

+1

Absolut, ich müssen MVCs Konvention folgen. Was ich getan habe, um meinen Fall zu lösen, war, Teilklassen desselben Controllers mit einem anderen Dateinamen zu erstellen, um die Logik zu trennen, aber ich habe die URl-Struktur, nach der ich gesucht habe. Vielen Dank – roncansan

7

Haben Sie versucht:

return View("/Company/Employee/ManageEmployee", loadedEmp); 

Es sieht aus wie der Motor die Ansicht in Bezug auf Ihren aktuellen Standort auf der Website versucht eher, als vom Stamm der Site.

2

Ansicht muß von der Steuerung in der folgenden Art und Weise (für bestimmte View) zurückgegeben werden:

return View("ManageEmployee", loadedEmp); 

In MVC, wird der Controller automatisch Route zur Ansicht Name, den Sie zur Verfügung gestellt.

loadedEmp sollte das Objekt sein, das Sie an die Ansicht übergeben.

1

Wenn Sie Ihre eigenen Konvention der Anordnung der Ansichten Ordner Strukturen möchten, wäre es besser, Sie Ihre eigene View-Engine anschließen.

Verwandte Themen