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.
⬇️ Result | Source ➡️
FYI: The current url parameters are
data620=page&tut=basics-linking&mode=set&id=27&variant=dyn
Links to test the functionality
Reading the url parameters
- URL contains
sort
w/null-check:
False
- URL contains
sort
using
Razor.Blade
(this will also return false, if sort is empty):
False
- Sort value from URL:
-
Put
sort
in a variable for further use:
-
Get sort from url, or if it doesn't exist,
use a default value
descending
(uses Razor.Blade):
descending
@inherits Custom.Hybrid.Razor14
@using ToSic.Razor.Blade
<p>
FYI: The current url parameters are <br>
<code>@CmsContext.Page.Parameters</code>
</p>
<p>Links to test the functionality</p>
<ul>
<li><a href='@Link.To(parameters: CmsContext.Page.Parameters.Remove("sort"))'>This page without <code>sort</code> url-parameter</a></li>
<li><a href='@Link.To(parameters: CmsContext.Page.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>
@(CmsContext.Page.Parameters["sort"] != null)
</li>
<li>URL contains <code>sort</code> using
<a href="https://github.com/DNN-Connect/razor-blade" target="_blank">Razor.Blade</a>
(this will also return false, if sort is empty): <br>
@Text.Has(CmsContext.Page.Parameters["sort"])
</li>
<li>Sort value from URL: <br>
@CmsContext.Page.Parameters["sort"]
</li>
<li>
Put <code>sort</code> in a variable for further use: <br>
@{
var sort = CmsContext.Page.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(CmsContext.Page.Parameters["sort"], "descending");
}
@sort
</li>
</ul>