โมดูลการกำหนดเส้นทาง ASP.Net MVC มีหน้าที่ในการแมปคำขอของเบราว์เซอร์ขาเข้ากับการดำเนินการของตัวควบคุม MVC โดยเฉพาะ เมื่อแอปพลิเคชัน ASP.NET MVC เปิดขึ้น แอปพลิเคชันจะลงทะเบียนรูปแบบอย่างน้อยหนึ่งรูปแบบด้วยตารางเส้นทางของกรอบงาน เพื่อบอกกลไกกำหนดเส้นทางว่าจะทำอย่างไรกับคำขอใดๆ ที่ตรงกับรูปแบบเหล่านั้น เมื่อเอ็นจิ้นการกำหนดเส้นทางได้รับคำขอขณะรันไทม์ เอ็นจิ้นจะจับคู่ URL ของคำขอนั้นกับรูปแบบ URL ที่ลงทะเบียนไว้และให้การตอบสนองตามรูปแบบที่ตรงกัน
ASP.NET แนะนำ Routing เพื่อขจัดความจำเป็นในการแมปแต่ละ URL ด้วยไฟล์ aphysical การกำหนดเส้นทางช่วยให้เราสามารถกำหนดรูปแบบ URL ที่แมปกับตัวจัดการคำขอ System.Web.Routing ถูกใช้โดยกรอบงาน MVC แต่ยังใช้โดย ASP.NET Dynamic Data กรอบงาน MVC ใช้ประโยชน์จากการกำหนดเส้นทางเพื่อส่งคำขอไปยังตัวควบคุม ไฟล์ Global.asax เป็นส่วนหนึ่งของแอปพลิเคชันของเรา ซึ่งเราจะกำหนดเส้นทางสำหรับแอปพลิเคชันของเรา
ด้านล่างนี้คือการกำหนดค่าเส้นทางของแอปพลิเคชัน MVC -
public class RouteConfig{ public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
ชื่อเส้นทาง
เส้นทางคือรูปแบบ URL ที่แมปกับตัวจัดการ ตัวจัดการสามารถเป็นตัวควบคุมในแอปพลิเคชัน MVC ที่ประมวลผลคำขอ ชื่อเส้นทางอาจใช้เป็นข้อมูลอ้างอิงเฉพาะสำหรับเส้นทางที่กำหนด
ข้อจำกัด
ชุดของข้อจำกัดที่จะใช้กับรูปแบบ URL เพื่อกำหนด URL ที่ตรงกันให้แคบลง
รูปแบบ URL
รูปแบบ URL สามารถมีค่าตัวอักษรและตัวยึดตัวแปรได้ ตัวอักษรและตัวยึดตำแหน่งจะอยู่ในส่วนของ URL ที่คั่นด้วยเครื่องหมายทับ (/)
เมื่อมีการร้องขอ URL จะถูกแยกวิเคราะห์เป็นส่วนและตัวยึด และค่าตัวแปรจะถูกจัดเตรียมให้กับตัวจัดการคำขอ กระบวนการนี้คล้ายกับวิธีแยกวิเคราะห์ข้อมูลในสตริงการสืบค้นและส่งผ่านไปยังตัวจัดการคำขอ ในทั้งสองกรณี ข้อมูลตัวแปรจะรวมอยู่ใน URL และส่งผ่านไปยังตัวจัดการในรูปแบบของคู่คีย์-ค่า สำหรับสตริงการสืบค้น ทั้งคีย์และค่าต่างๆ จะอยู่ใน URL Forroutes คีย์คือชื่อตัวยึดตำแหน่งที่กำหนดไว้ในรูปแบบ URL และมีเพียงค่าเท่านั้นที่อยู่ใน URL
ค่าเริ่มต้น
เมื่อเรากำหนดเส้นทาง เราสามารถกำหนดค่าเริ่มต้นสำหรับพารามิเตอร์ได้ ออบเจ็กต์ isan เริ่มต้นที่มีค่าเส้นทางเริ่มต้น เส้นทางเริ่มต้นทั้งสามส่วนประกอบด้วย Controller, Action และ Id
ใน URL ด้านบน ตัวควบคุมและการดำเนินการที่เกี่ยวข้องจะถูกจับคู่ หากเราไม่ได้ส่งตัวควบคุมและวิธีการดำเนินการใน URL และตามเส้นทางเริ่มต้น วิธีการดำเนินการของตัวควบคุมที่เกี่ยวข้องจะถูกเรียกใช้