London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Querystring in MVC routing

Vote:
 

Hi,

I need to rewrite the default routing to my custom url structure, with help from EPiServer Devs I am able to make it work as expect. However, I have a paging which I want the URL to something like Mydomain.com/structure/2/ 2 is the page number here but it shows me Mydomain.com/structure?currentpagenumber = 2, do I need to write a new segment for currentpagenumber?

Thanks in advance,

Hai

 

#69573
Mar 28, 2013 7:16
Vote:
 

No, you don't need to do that. Just add the following to you're registered route: .../{currentPageNumber}. Now you can have a parameter on you're controller with the same name.

#69577
Mar 28, 2013 8:25
Vote:
 

Thank you Jonas!

It worked like a charm! However I need to add a ParameterSegment to the MapContentRouteParameters to make it work:

var parameters = new MapContentRouteParameters
{
SegmentMappings = new Dictionary<string, ISegment>(),
Direction = SupportedDirection.Both
};

var pageNumberParameter = new ParameterSegment("currentPageNumber");

routes.MapContentRoute(
name: "pagenumber",
url: "{currentPageNumber}/{node}/{action}",
defaults: new { action = "index" },
parameters: parameters);

By the way, I have another question, is there anyway to hide the parameter in the url, I have another parameter, but dont want to show it in the url, how can I do that?

Regards,

Hai

#69581
Mar 28, 2013 9:20
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.