2016-05-12 60 views
0

我的.NET项目中有一个MVC控制器,它是标准MVC控制器的一点修改版本,因为我使用的是Episerver CMS。对于控制器的代码如下:通过episerver中的控制器访问视图CMS

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

      return View(currentPage); 
     } 
    } 

,现在当我尝试通过控制器访问视图类似以下内容:

http://localhost:port/TestPage 

这应该(与常规的MVC控制器)返回Index.cshtml认为我创建的,但它不...那我得到的错误是:

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

我怎样才能设置控制器现在这样我可以通过控制器访问视图...?

问候

+0

您的视图存储在哪里?它叫什么? –

+0

您是否通过episerver admin创建了页面实例? –

回答

3

如果您服务CMS页面,确实有幕后一个页面控制器,你必须与CMS页面(页面的“名称中的URL”属性)的名称来访问URL。这是EPiServer在尝试将请求“路由”到相应的页面控制器时的价值。

因此,理论上你可能有一个名为ThisIsMyPageController : PageController<StartPage>的页面控制器,页面名称为“Hello”。然后,您需要点击“http://localhost/hello”,EPiServer将确保将“/ hello”请求路由到您的页面控制器。

另一个说明。如果这是StartPage,并且应该作为您的根页面,并且如果EPiServer站点设置正确 - 您应该只访问“http://localhost”,EPiServer应该调用您的页面类型控制器来处理对站点根页面的请求。