Skip to main content
Home  › ... Razor

Basics: Linking and URL Parameters

Tutorial HomeLinking

Linking with Number Url Parameters

The samples can differ based on your Razor base class or if you're running an old version.
Selected: Typed (2sxc 16+) Switch to Dynamic (Razor14 or below)

Working with Number URL Parameters

When you expect a number, you usually need to convert it to an int or similar for further use. Otherwise you'll be comparing numbers with strings. For example if (3 == "3") would return false - which is not what you usually want.
Additionally, you usually want to ensure that if no parameter is found, you will have a default value - othertise you may run into errors.

⬇️ Result | Source ➡️

Click on the links to change the url-parameters of this page and see the results below.


  • Raw id from URL:
    Equal to string "27": False
    Equal to number 27: (would throw error)
  • Number id from URL: 0
    Equal to string "27": (would throw error)
    Equal to number 27: False
  • Number id from URL or -1: -1
    Equal to string "27": (would throw error)
    Equal to number 27: False
@inherits Custom.Hybrid.RazorTyped
@using ToSic.Razor.Blade

@{
  // This variable is a string, but could be null or empty
  var idAsString = MyPage.Parameters["id"];
  // This converts the id parameter to int. First sample auto-falls back to 0, other to -1
  var id = MyPage.Parameters.Int("id");
  var idOrMinus1 = MyPage.Parameters.Int("id", fallback: -1);
}
<ul>
  <li>
    <strong>Raw id from URL:</strong> @idAsString <br>
    Equal to string "27": @(idAsString == "27") <br>
    Equal to number 27: (would throw error) <br>
  </li>
  <li>
    <strong>Number id from URL:</strong> @id <br>
    Equal to string "27": (would throw error) <br>
    Equal to number 27: @(id == 27) <br>
  </li>
  <li>
    <strong>Number id from URL or -1:</strong> @idOrMinus1 <br>
    Equal to string "27": (would throw error) <br>
    Equal to number 27: @(idOrMinus1 == 27) <br>
  </li>
</ul>