2011-07-15 85 views
1

我已在项目结构问题与asp.net mvc的路由

http://img13.imageshost.ru/img/2011/07/15/image_4e1fd08fe0c5d.png

UserController的代码如下:

public class UserController : Controller 
    { 

     public ActionResult Login() 
     { 
      return View(ValidationResult.OK); 
     } 
    } 

AdminController代码:

public class AdminController : Controller 
    { 
     public ActionResult Login() 
     { 
      return View(ValidationResult.OK); 
     } 
} 

路线

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       "Default", // Route name 
        "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 

     } 

当我尝试导航到http://localhost:2334/admin/login我得到“在'/管理/登入应用程序的服务器错误。无法找到该资源。请求的URL:/管理/登入/”

当我尝试导航到http://localhost:2334/user/login我得到** “服务器错误/管理/登录”应用程序“ HTTP错误404 - 找不到 **

我不明白什么:(

+0

在哪个服务器上运行这个?你有没有尝试重新编译并重新启动它? – gw0

+0

asp.net开发服务器 – VoimiX

+0

检出您的_ViewStart.cshtml在视图文件夹。 – Peanutbag

回答

0

不知道,可能是愚蠢的假设:你确定适当的意见对你的控制器 检查:?所有的

/Views/Admin/Login.cshtml 
/Views/User/Login.cshtml 
0

首先TR y通过在控制器的每种方法上创建html页面,通过右键单击操作方法并添加视图...

然后从解决方案资源管理器app_start - > routeconfig设置gona运行的默认页面。

routes.MapRoute(
      "YourControllername", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Yourcontrollername", action = "methodname", id = UrlParameter.Optional } 
     ); 

记住你不需要写控制器routeconfig您的主页幕后控制人对前只需添加回家,如果你有HomeController的。

并在创建索引方法后添加视图,该方法肯定会起作用。