ASP.Net MVC RedirectToAction พร้อมจุดยึด


84

ฉันมีปัญหาดังต่อไปนี้: ตัวอย่างเช่นฉันมีเส้นทางดังนี้:

routes.Add(new Route("forums/thread/{threadOid}/last", new MvcRouteHandler())
           Defaults = new RouteValueDictionary(
             new { controller = "Thread", action ="ShowThreadLastPostPage"}),
        Constraints = new RouteValueDictionary(new { threadOid = @"^\d+$" })
    }
);

มีวิธีใดบ้างที่ใช้เมธอด RedirectToAction นำทางไปยัง URL เช่นนี้:

forums/thread/{threadOid}/last#postOid


2
สำหรับ ASP.NET MVC หลักดูstackoverflow.com/q/55741977/11683
GSerg

คำตอบ:


155

ฉันคิดว่าคุณควรใช้Redirectวิธีนี้ควบคู่ไปด้วยUrl.RouteUrlเพื่อให้สำเร็จ

return Redirect(Url.RouteUrl(new { controller = "Thread", action = "ShowThreadLastPostPage", threadOid = threadId }) + "#" + postOid);

ชอบคำตอบนี้ แต่สิ่งนี้ไม่ทำให้เกิดการเรนเดอร์ไปยังไคลเอนต์จากนั้นคำขอใหม่ไปยังเซิร์ฟเวอร์ตามด้วยการเรนเดอร์อื่น ถ้าเป็นเช่นนั้นมีวิธีอื่นในการหลีกเลี่ยงปัญหานี้หรือไม่?
Jacques

1
วิธีนี้ทดสอบได้ยากมาก แต่ก็อาจเป็นทางออกเดียว
Josh Kodroff

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.