A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Getting route data from partial route in a webform template

Vote:
 

I have configured a partial route in a website which is using web form templates.

I have followed the tutorial on partial routing and am able to register a partial route which correctly loads my aspx template when the route is matched.

http://sdkbeta.episerver.com/SDK-html-Container/?path=/SdkDocuments/CMS/7/Knowledge%20Base/Developer%20Guide/Partial%20Routing/News%20partial%20routing%20example.htm&vppRoot=/SdkDocuments//CMS/7/Knowledge%20Base/Developer%20Guide/

I dont know the best way to access the custom route data from within the web form template.

Following the example in the SDK, if I where to create a webforms template to display a "NewsContent" item, the code behind I would look like this.

public partial class NewsContentTemplate : EPiServer.SimplePage, IRenderTemplate<NewsContent>
{
	protected void Page_Load(object sender, EventArgs e)
	{
		// This is how i am getting the route data
		var data = ((NewsContent)Request.RequestContext.RouteData.DataTokens["routedData"]);
	}
}

    The code for accessing the route data works but is this correct / the best way? If this was a page, I would inherit TemplatePage<T> which gives typed access to the model, however I cannot do that here as NewsContent is not a page in the CMS.

Adam

#70342
Apr 17, 2013 14:54
Vote:
 

You should be able to get the routed data through extension method to RequestContext that resides in namespace EPiServer.Web.Routing:

  
        var newsContent = Request.RequestContext.GetRoutedData<NewsContent>();
#70345
Apr 17, 2013 15:09
Vote:
 

Thanks Johan, thats what I was looking for!

#70349
Apr 17, 2013 16:36
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.