The following code will use a value from the url querystring. There are various ways to pick it up, but we recommend the cross-platform API which works in Dnn and Oqtane.
@MyPage.Parameters["id"]
@CmsContext.Page.Parameters["id"]
@Request.QueryString["id"]
Usually you would have somepagename?id=27 in the url, and then using @MyPage.Parameters["id"] / @CmsContext.Page.Parameters["id"] you would pick it up. But with DNN, there is an additional processing that happens, as DNN tries to create nice URLs resulting in somepagename/id/27. But on the server, this is still treated as the ?id=27, so you still use the same method to access it.
somepagename?id=27
somepagename/id/27
?id=27
Note that this sample uses Link.To(parameters: object.Add/Remove) to just modify the existing url, since this tutorial uses other url-parameters to pick the snippets to show.
Link.To(parameters: object.Add/Remove)
Links to test the functionality
sort
sort=ascending
Reading the url parameters
IsNotEmpty
descending
@inherits Custom.Hybrid.RazorTyped @using ToSic.Razor.Blade <p>Links to test the functionality</p> <ul> <li><a href='@Link.To(parameters: MyPage.Parameters.Remove("sort"))'>This page without <code>sort</code> url-parameter</a></li> <li><a href='@Link.To(parameters: MyPage.Parameters.Set("sort", "Ascending"))'>This page with additional <code>sort=ascending</code></a></li> </ul> <p>Reading the url parameters</p> <ul> <li>URL contains <code>sort</code> w/null-check: <br> @(MyPage.Parameters["sort"] != null) </li> <li>URL contains <code>sort</code> using <code>IsNotEmpty</code>: <br> @MyPage.Parameters.IsNotEmpty("sort") </li> <li>Sort value from URL: <br> @MyPage.Parameters["sort"] </li> <li> Put <code>sort</code> in a variable for further use: <br> @{ var sort = MyPage.Parameters["sort"]; } @sort </li> <li> Get sort from url, or if it doesn't exist, use a default value <code>descending</code> (uses <a href="https://github.com/DNN-Connect/razor-blade" target="_blank">Razor.Blade</a>): @{ sort = Text.First(MyPage.Parameters["sort"], "descending"); } @sort </li> </ul>