我有三种网址类型。 这些:

首先: http:// localhost /
第二个: http:// localhost / X /
第三名: http:// localhost / X / Y /

示例网址:

http:// localhost / test /
http:// localhost / test / details /

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

public class HomeController : Controller
{
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }

}

routes.MapRoute(
            "Module",
            "{module_name}/{controller}/{action}", 
            new
            {
                controller = "Module",
                action = "Index",
                module_name = UrlParameter.Optional
            }
        );

public class ModuleController : Controller
{
    //
    // GET: /Module/

    public ActionResult Index(string modul_name)
    {
        return View();
    }

}

routes.MapRoute(
      "ModuleDetails",
      "{module_name}/{details_param}/{controller}/{action}", 
      new
      {
          controller = "ModuleDetails",
          action = "Index",
          module_name = UrlParameter.Optional,
          details_param = UrlParameter.Optional
      }
);

public class ModuleDetailsController : Controller
{
    //
    // GET: /ModuleDetails/

    public ActionResult Index(string modul_name, string details_param)
    {
        return View();
    }

}

在这种情况下;

http:// localhost / X /
"Home", "Index" “首页”,“索引”

但;

http:// localhost / X /
Application in the server error. 服务器中的应用程序错误。 找不到资源。

http:// localhost / X / Y /
Application in the server error. 服务器中的应用程序错误。 找不到资源。

我能怎么做? 谢谢,最好的问候。

===============>>#1 票数:1 已采纳

http:// localhost / X /响应:服务器中的应用程序错误。 找不到资源。

发生这种情况是因为您的每个路由都至少指定了2个必需参数。

尝试添加此:

routes.MapRoute(
            "Default",
            "{controller}/{action}", 
            new
            {
                controller = "Home",
                action = "Index"
            }
        );

===============>>#2 票数:0

那是对的朋友..

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

        routes.MapRoute(
            "Module",
            "{modul_name}",
            new { controller = "Modul", action = "Index", modul_name = UrlParameter.Optional }
        );

        routes.MapRoute(
            "Page",
            "{modul_name}/{page_name}",
            new { controller = "Page", action = "Index", modul_name = UrlParameter.Optional, page_name = UrlParameter.Optional }
        );

  ask by barisimnet translate from so

未解决问题?本站智能推荐: