I have an treeview in blazor application.I would like to know how to get selected node level when I select on node
protected override void OnInitialized()
{
base.OnInitialized();
treedata.Add(new TreeData { nodeId = "04", nodeText = "Order Management system", iconCss = "icon-th icon", hasChild = true });
treedata.Add(new TreeData { nodeId = "04-01", nodeText = "Order Receiving", iconCss = "icon-circle-thin icon", hasChild=true, pid = "04" });
treedata.Add(new TreeData { nodeId = "04-02", nodeText = "SRF", iconCss = "icon-circle-thin icon", pid = "04-01" });
treedata.Add(new TreeData { nodeId = "04-03", nodeText = "Style Management", iconCss = "icon-circle-thin icon", pid = "04-01" });
treedata.Add(new TreeData { nodeId = "04-04", nodeText = "Color Management", iconCss = "icon-circle-thin icon", pid = "04-01" });
treedata.Add(new TreeData { nodeId = "04-05", nodeText = "Buyer Order", iconCss = "icon-circle-thin icon", pid = "04-01" });
treedata.Add(new TreeData { nodeId = "04-06", nodeText = "Order Processing", iconCss = "icon-circle-thin icon", pid = "04" });
treedata.Add(new TreeData { nodeId = "04-07", nodeText = "Factory Order", iconCss = "icon-circle-thin icon", pid = "04-06" });
}
Index.razor |
public void selected(NodeSelectEventArgs args)
{
jsRuntime.InvokeAsync<string>("getNodeLevel", args.NodeData.Id);
} |
Host.cshtml |
<script>
function getNodeLevel(targetNodeId){
console.log(document.querySelector('[data-uid="' + targetNodeId + '"]').getAttribute('aria-level'));
}
</script> |
thanks for reply..
how can I get js value (node level value) in razor page.
public async Task selected(NodeSelectEventArgs args)
{
var nodeLevel=await jsRuntime.InvokeAsync<string>("getNodeLevel", args.NodeData.Id);
Console.WriteLine(nodeLevel);
} |
<script>
function getNodeLevel(targetNodeId) {
var nodelevel = document.querySelector('[data-uid="' + targetNodeId + '"]').getAttribute('aria-level');
return nodelevel;
}
</script> |