Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

Can't pass a class parameter to Blazor RenderFragment

$
0
0

I'm working on a Blazor WebApp, .net 8.0, server only application. I'm having problems with RenderFragment.

This is the type I'm passing as a parameter to the RenderFragment delegate:

public class Temp1{    public string? a { get; set; }    public string? b { get; set; }    public Temp1 (string? a, string? b)    {        a = this.a;        b = this.b;    }}

This is the RenderFragment definition:

public RenderFragment<Temp1> CreateButton => content => __builder => {<button class="btn" onclick="@MenuOperations.CanvasMouseClick"> Button </button><button class="btn"> @content.a  aaa</button><button class="btn" onclick="@MenuOperations.CanvasMouseClick"> @content.b  bbb</button>};  

This is where I call it:

@CreateButton(new("x", "y"))    

The problem is that when "CreateButton" executes, "content" is null but I don't see any errors using VS 2022.

Anybody know why content is null?

This is the example I used to create my code. It works.

public RenderFragment<string> SayHelloName => name => __builder =>{<h1>Hello @name</h1>};@SayHelloName("foo")

I saw examples from other places that used a class type instead of a string type so I don't know why that would be a problem.

I tried replacing "CreateButton =>" with "CreateButton =" because I saw that code somewhere. That didn't fix it; not even sure why both versions compile correctly but that's not important.


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>