2016-05-12 10 views
0

Ich habe einen MVC-Controller in meinem .NET-Projekt, der eine etwas modifizierte Version des Standard-MVC-Controllers ist, da ich das Episerver-CMS verwende. Der Code für den Controller ist wie folgt:Zugriff über den Controller im Episererver CMS

public class StartPageController : PageController<StartPage> 
    { 
     // GET: StartPage 
     public ActionResult Index(StartPage currentPage) 
     { 

      return View(currentPage); 
     } 
    } 

Und jetzt, wenn ich versuche, den Blick über den Controller für den Zugriff wie folgt vor:

http://localhost:port/TestPage 

Dies sollte (mit dem regulären MVC-Controller) kehrt der Index.cshtml Ansicht, die ich erstellen, aber es funktioniert nicht ... der Fehler, ich bin immer ist:

HTTP Error 404.0 - Not Found 
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

Wie kann ich ein Setup der Controller nun so, dass ich die Ansicht über den Controller zugreifen kann ...?

Mit freundlichen Grüßen

+0

Wo ist Ihre Ansicht gespeichert und wie heißt sie? –

+0

Haben Sie die Seiteninstanz über episerver admin erstellt? –

Antwort

3

Wenn Sie CMS-Seite dienen und tun hinter den Kulissen eine Seite Controller haben, müssen Sie die URL-Zugriff mit dem Namen der CMS-Seite („Namen in URL“ Eigenschaft der Seite). Das ist der Wert, nach dem EPiServer sucht, wenn er versucht, Ihre Anfrage an den entsprechenden Seitencontroller zu "routen".

Also theoretisch haben Sie vielleicht Seitencontroller namens ThisIsMyPageController : PageController<StartPage> und Name der Seite ist "Hallo". Dann müssten Sie "http://localhost/hello" drücken und EPiServer wird sicherstellen, dass die Anforderung an "/ hallo" an Ihren Seitencontroller weitergeleitet wird.

Ein weiterer Hinweis. Ist dies StartPage und soll als root-Seite für Ihre Seite sein, und wenn EPiServer-Site richtig eingerichtet ist - sollten Sie nur auf "http://localhost" zugreifen und EPiServer sollte Ihren Seitentyp-Controller aufrufen, um die Anfrage an die Root-Seite der Site zu behandeln.