我目前正在学习 C# Blazor 框架,但我面临一个问题,如何获取我点击的 HTML 元素?
我需要它来获取它在 DOM 和父 HTML 元素中的位置。
例如,JQuery 的经典方式:
$('selector').click(function (event) {
alert($(this).index());
});
http://jsfiddle.net/bCTAh/
我知道,Blazor 中有 @onclick 属性,例如:
<tr @onclick="OnYes">...</tr>
@functions {
ElementReference inputTypeFileElement;
public async Task MainTableOnClick(MouseEventArgs e)
{
Console.WriteLine("clicked!");
}
}
如何获取被点击的 TR HTML 元素的索引?
我的任务是将 Windows 窗体应用程序转换为 Web 版本。旧的 Windows 窗体有 DataGridView,它的每一行也有 onClick 事件和标记对象。当 DataGridView 的某些行被点击时,onClick 获取该行的 Tag 对象并用它来将数据填充到表单上的另一个 DataGridView。所以,我需要知道,单击哪一行从某个对象(它可以是 DataTable,或者更简单地说,是 Array)获取数据。基于行索引和数组中的索引,我需要获取数据以填充网页上的另一个表。
因此,第一个表是客户(姓名、姓氏等...)。
当单击带有客户端的某些行时,我需要在表中获取行(客户端)索引。通过该索引,我将从客户端数组中获取数据。通过找到 Client 对象,我计划动态填充页面上的另一个表。
最佳答案
在这种情况下,您可以使用 JSInterop
或者
<tr @onclick="() => TrClickedAtIndex(0)">...</tr>
@code {
ElementReference inputTypeFileElement;
public void TrClickedAtIndex(int index)
{
Console.WriteLine($"tr clicked at index {index}!");
}
}
关于C# - Blazor @onlick 如何点击 HTML 元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58959123/