Переменная Blazor и событие вызова из .razor для html, созданного с помощью RenderTreeBuilder для класса C# - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю древовидную структуру с помощью Blazor, и мне нужно получить значение узла, по которому щелкнули мышью, и отправить его в функцию в представлении, чтобы удалить его из дерева.

Это C# код, который генерирует дерево:

BinaryTreeService.cs

public void PreOrderTraversal(RenderTreeBuilder builder, BinaryTreeNode node)
    {
        if (node != null)
        {
            //Some Code

            builder.OpenElement(2, "a");
            builder.AddAttribute(2, "href", "javascript: void(0)");
            builder.AddAttribute(2, "value", node.Value);
            builder.AddAttribute(3, "onclick", EventCallback.Factory.Create(this, -->Remove(value)<--));
            builder.AddContent(2, node.Value);
            builder.CloseElement();

            PreOrderTraversal(builder, node.Left);
            PreOrderTraversal(builder, node.Right);

            //Some Code
        }
    }

Где находится -> Удалить (значение) <- я хочу вызвать функция и передать значение. </p>

BinaryTree.razor

public void Remove(int value)
{
   //remove
}

Как мне этого достичь? Я знаю, как вызвать функцию в .cs, но я не знаю, как вызвать ее в .razor, также я не знаю, как получить значение из тега привязки, используя этот подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...