วิธีใช้การกำหนดเส้นทาง URL ของ .NET MVC

ฉันกำลังพยายามกำหนดค่า ErrorController ในแอปพลิเคชัน .NET MVC ของฉัน และฉันไม่สามารถดำเนินการใดๆ บนคอนโทรลเลอร์ได้ในขณะนี้ ดังนั้นฉันเชื่อว่าอาจเป็นเพราะฉันต้องลงทะเบียนเส้นทาง URL ใน global.asax< /ข>

ตัวควบคุมข้อผิดพลาดมีดังต่อไปนี้:

public class ErrorController: Controller
{

    /*Default Redirect Error Page*/
    public ActionResult Index()
    {
        return View();
    }
    /*Generic Error Page*/
    public ActionResult Generic()
    {
        return View();
    }
    /*Status Code: 400*/
    public ActionResult NotFound()
    {
        return View();
    }
}

ฉันต้องการที่จะเรียกการกระทำข้างต้นด้วย URL ต่อไปนี้ตามลำดับ

~/ข้อผิดพลาด/
~/ข้อผิดพลาด/ทั่วไป
~/ข้อผิดพลาด/ไม่พบ

ฉันเชื่อว่าในไฟล์ Global.asax ฉันจะต้องลงทะเบียนเส้นทางเหล่านี้โดยใช้สิ่งต่อไปนี้:

routes.Add(new Route("error/{action}", new MvcRouteHandler())){controller = "Error", action = "";

ฉันจะเพิ่ม/ระบุตัวจัดการเส้นทางที่ถูกต้องสำหรับสิ่งนี้ได้อย่างไร


person TheJediCowboy    schedule 02.08.2011    source แหล่งที่มา


คำตอบ (1)


ฉันเชื่อว่า URL เริ่มต้นที่ให้ไว้ใน global.asax จะใช้ได้กับ URL ของคุณ แต่ถ้าคุณต้องการ URL เฉพาะเจาะจงให้ไปที่:

routes.MapRoute(
      "Error", // Route name
      "error/{action}", // URL without parameters
       new { controller = "Error", action = "Index" }, // Parameter defaults
);

และถ้าคุณต้องการพารามิเตอร์:

routes.MapRoute(
      "Error", // Route name
      "error/{action}/{param}", // URL with parameters
       new { controller = "Error", action = "Index", param = UrlParameter.Optional }, // Parameter defaults
);
person Shaokan    schedule 02.08.2011