অ্যাঙ্গার সাথে এএসপি.নেট এমভিসি রিডাইরেক্টটঅ্যাকশন


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+$" })
    }
);

রিডাইরেক্টটো অ্যাকশন পদ্ধতিটি ব্যবহার করে ইউআরএলে নেভিগেট করার মতো উপায় আছে:

forums/thread/{threadOid}/last#postOid


4
এএসপি.নেট এমভিসি কোরের জন্য, স্ট্যাকওভারফ্লো . com/q/55741977/11683 দেখুন
GSerg

উত্তর:


155

আমি মনে করি আপনার এ Redirectপদ্ধতিটি Url.RouteUrlসম্পাদন করার সাথে সাথে ব্যবহার করা উচিত ।

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

এই উত্তরটি পছন্দ করুন, তবে এটি কি ক্লায়েন্টের কাছে রেন্ডার সৃষ্টি করে না তার পরে সার্ভারে একটি নতুন অনুরোধ এবং তার পরে অন্য রেন্ডার হবে? যদি তা হয় তবে এড়াতে হবে কি আর উপায়?
জ্যাক

4
এই সমাধানটি পরীক্ষা করা খুব কঠিন তবে এটি কেবলমাত্র সমাধান হতে পারে।
জোশ কোডরফ

22

এর সাথে আরও একটি বিকল্প Url.Action:

return Redirect(Url.Action("ShowThreadLastPostPage", "Thread", new { threadOid = threadOid }) + "last#" + postOid);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.