Skip to content

CascadingValueSource doesn't work with named AddCascadingValue #50034

@dodyg

Description

@dodyg

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

builder.Services.AddCascadingValue("hello", sp => 
{
    var msg = new MessageCascade("Hello World! " + DateTime.Now);
    var source = new CascadingValueSource<MessageCascade>(msg, isFixed: false);
    return source;
});
<h2>Inner Component One</h2>

@HelloMessage.Message

@code {
    [CascadingParameter(Name="hello")]
    protected MessageCascade HelloMessage { get; set; } = default!;
}

will generate

crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
   at ComponentTwentySix.Pages.InnerComponentOne.BuildRenderTree(RenderTreeBuilder __builder) in D:\GitHub\practical-aspnetcore\projects\.net8\ComponentTwentySix\Pages\InnerComponentOne.razor:line 3
   at Microsoft.AspNetCore.Components.ComponentBase.<.ctor>b__6_0(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)

Expected Behavior

That named cascading value will just work normally.

Steps To Reproduce

https://github.com/dodyg/practical-aspnetcore/blob/net6.0/projects/.net8/ComponentTwentySix/Program.cs

Exceptions (if any)

No response

.NET Version

8.0.100-preview.7.23376.3

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-blazorIncludes: Blazor, Razor Components

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions