@page "/" @using System.Data; @inject IJSRuntime JS; <h1>Hello, world!</h1> <table class="table"> @foreach (DataRow row in opType.Rows) { sl = 1; string rowId = "row_" + rowIndex; <tr id="@rowId"> @foreach (DataColumn column in opType.Columns) { string batchno = @row[column.ColumnName].ToString(); <td> @if (sl == 1) { <i class="fas fa-eye mr-1" @onclick="(()=>getTrnDetails(batchno, rowId))" style="cursor: pointer;"> </i> } @row[column.ColumnName] </td> sl = sl + 1; } </tr> rowIndex++; } </table> @code { int sl = 0; int rowIndex = 1; DataTable opType = new DataTable(); protected override void OnInitialized() { opType = new DataTable(); opType.Columns.Add("Col1"); opType.Columns.Add("Col2"); DataRow rowOne = opType.NewRow(); rowOne["Col1"] = "A1"; rowOne["Col2"] = "A2"; opType.Rows.Add(rowOne); DataRow rowTwo = opType.NewRow(); rowTwo["Col1"] = "B1"; rowTwo["Col2"] = "B2"; opType.Rows.Add(rowTwo); } public async Task getTrnDetails(string batchno, string rowId) { Console.WriteLine(batchno); await JS.InvokeVoidAsync("app.toggleTrColor", rowId); } }
namespace BlazorFiddleProject { using Microsoft.Extensions.DependencyInjection; public class Startup { public void ConfigureServices(IServiceCollection services) { } // Warning: IComponentsApplicationBuilder - not the original .NET 6.0 interface. This was done to make old saves work. public void Configure(IComponentsApplicationBuilder app) { app.AddComponent<App>("app"); } } }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width"> <title>BlazorFiddleProject</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <link href="_content/MatBlazor/dist/matBlazor.css" rel="stylesheet" /> <script src="_content/MatBlazor/dist/matBlazor.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <style> app { } .bg-yellow { background: yellow; } </style> <script type="text/javascript"> window.app = { toggleTrColor: (rowId) => { console.log("row: ", rowId); var element = document.querySelector("tr#" +rowId); element.classList.toggle("bg-yellow"); } }; </script> </head> <body> <app>Loading...</app> <script src="_framework/blazor.webassembly.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> </body> </html>

Add component

BlazorFiddle was updated from Blazor 0.7 to .NET 6.0. Your old source code could not work. You need to upgrade to latest.