在Razor中获取动态生成按钮的ID

时间:2014-02-09 11:38:47

标签: c# html asp.net-mvc-4 razor

我有一个包含对象列表的表,并且在每行中我都动态生成按钮以删除该行。

如何让@{ c# }按下按钮的ID?

@for (int i = 0; i < BL.SNG.GetListLen(); i++)
{
    <form method="post"
          action="">
        <input type="submit"
               value="Delete @i"
               id="@i"
               onclick="button_click(this.id)" />
    </form>
    </td>

1 个答案:

答案 0 :(得分:0)

您将id放在错误的元素上。由于循环在每次迭代时创建一个新的表单元素和一个新按钮。 id应该分配给表单元素本身。我假设button_click引用了其他地方定义的一些JavaScript函数。

请注意,不建议将事件处理程序附加到页面的html标记部分中的元素。您通常应该从JavaScript添加它们。像这样:

document.getElementsByTagName("input")
.forEach( addEventListener("click", function (...) { });

抱歉,我刚刚注意到您关于删除数据库中代表的行的评论。 您也可以使用表单本身的提交操作来执行此操作。