title: Why are CascadingValue's null when accessing the page directly?
body: <p>I have an application where almost every page is going to need to reference their organization record, so in MainLayout.razor I have this code</p>
  
  <pre><code>@code {
  
    Organization CurrentOrganization { get; set; }
  
    protected override async Task OnInitializedAsync()
    {
      await base.OnInitializedAsync();
      CurrentOrganization = await GetOrganization();
    }
  
  }
  
  &lt;CascadingValue Name="CurrentOrganization" Value="@CurrentOrganization"&gt;
    // This wraps the entire page body
  &lt;/CascadingValue&gt;
  </code></pre>
  
  <p>Then in my page I reference the CascadingValue like this</p>
  
  <pre><code>@page "/organization"
  @code {
  
    [CascadingParameter(Name = "CurrentOrganization")]
    Organization CurrentOrganization { get; set; }
  
    protected override async Task OnParametersSetAsync()
    {
        await base.OnParametersSetAsync();
        // Use CurrentOrganization
    }
  
  }
  </code></pre>
  
  <p>If I launch the website the OnInitializedAsync method in MainLayout is called (twice, and both times CurrentOrganization is set properly) and if I click on the Organization page, the OnParametersSetAsync method fires and the CurrentOrganization isn't null and everything works fine.</p>
  
  <p>If I go directly to the Organization page URL in the browser though, OnInitializedAsync in MainLayout fires once, then the OnParametersSetAsync method fires but the CurrentOrganization is now null.</p>
  
  <p>What's different about accessing the page directly through the URL rather than clicking a link to get to it? If MainLayout is setting the CascadingValue before the page is loaded, why is the CascadingParameter null?</p>