3
สร้าง URL ในตัวช่วย HTML
โดยปกติในมุมมอง ASP.NET หนึ่งสามารถใช้ฟังก์ชั่นต่อไปนี้เพื่อรับ URL (ไม่ใช่<a>): Url.Action("Action", "Controller"); อย่างไรก็ตามฉันไม่สามารถหาวิธีทำได้จากตัวช่วย HTML ที่กำหนดเอง ฉันมี public class MyCustomHelper { public static string ExtensionMethod(this HtmlHelper helper) { } } ตัวแปรตัวช่วยมีเมธอด Action และ GenerateLink แต่สร้างขึ้น<a>มา ฉันทำการขุดในซอร์สโค้ด ASP.NET MVC แต่ฉันไม่สามารถหาวิธีที่ตรงไปตรงมา ปัญหาคือ Url ด้านบนเป็นสมาชิกของคลาสมุมมองและสำหรับอินสแตนซ์ของมันต้องการบริบทบางอย่างและแผนที่เส้นทาง (ซึ่งฉันไม่ต้องการที่จะจัดการกับและฉันไม่ควรจะอยู่แล้ว) หรืออีกทางหนึ่งอินสแตนซ์ของคลาส HtmlHelper ก็มีบริบทบางอย่างที่ฉันถือว่าเป็นส่วนหนึ่งของชุดย่อยของข้อมูลบริบทของอินสแตนซ์ Url (แต่ฉันไม่ต้องการจัดการกับมันอีก) โดยสรุปฉันคิดว่ามันเป็นไปได้ แต่เนื่องจากฉันเห็นทุกอย่างเกี่ยวข้องกับการจัดการบางอย่างกับสิ่ง ASP.NET ภายในบางอย่างมากขึ้นฉันสงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ แก้ไข:ตัวอย่างเช่นความเป็นไปได้หนึ่งอย่างที่ฉันเห็นคือ: public class MyCustomHelper …