लंगर के साथ ASP.Net MVC पुनर्निर्देशन


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

जवाबों:


153

मुझे लगता है कि आपको इसे पूरा करने के लिए Redirectविधि का उपयोग करना चाहिए Url.RouteUrl

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

इस उत्तर की तरह, लेकिन यह क्लाइंट को एक रेंडर का कारण नहीं बनता है तो सर्वर को एक और अनुरोध के बाद एक नया अनुरोध? यदि हां, तो क्या इससे बचने का एक और तरीका है?
जैक्स

1
यह समाधान परीक्षण करना बहुत मुश्किल है, लेकिन यह एकमात्र समाधान हो सकता है।
जोश कोडरॉफ़

19

इसके साथ एक और विकल्प Url.Action:

return Redirect(Url.Action("ShowThreadLastPostPage", "Thread", new { threadOid = threadOid }) + "last#" + postOid);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.