c# - C# - Blazor @onlick 如何让 HTML 元素被点击
问题描述
我目前正在学习 C# Blazor 框架,我面临一个问题,如何获取我点击的 HTML 元素?
我需要它来获取它在 DOM 和父 HTML 元素中的位置。
例如,使用 JQuery 的经典方式:
$('selector').click(function (event) {
alert($(this).index());
});
我知道,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 获取该行的标记对象并使用它将数据填充到表单上的另一个 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 - 文件打开命令正在杀死我的程序,为什么?
- angular - 如何在角度中使用 lodash _.debounce
- oracle - 如何使用 ords 重定向 oracle apex 应用程序
- python - 如何在 Python 中临时保存数据?
- azure - 到 Databricks 笔记本的 Azure Logic 连接器
- spring-boot - Keycloak Ouath2 集成在 spring cloud dataflow 2.3.0 中不起作用
- swift - 使用编程约束创建视图会导致内容绘制在错误的位置
- javascript - 无法在 javascript 文件 user.js(控制器)中导入我的 mongo 架构文件 order.js(模型)之一
- swift - 正则表达式在每个新行替换空格
- python-3.x - Python ROI 未从轮廓正确裁剪