2014-02-09 37 views
0

我有一個對象列表,並在每一行中我已動態生成按鈕以刪除該行。獲取Razor中動態生成的按鈕的ID

如何獲取@{ 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> 
+0

'delete'是什麼意思?將其從顯示頁面中刪除? – nathan

+0

從數據庫中刪除 – user3170524

回答

0

您將ID放在錯誤的元素上。由於循環在每次迭代中創建一個新的表單元素和一個新的按鈕。該id應該被分配給表單元素本身。我假設button_click指的是其他地方定義的一些JavaScript函數。

請注意,不鼓勵將事件處理程序附加到頁面的html標記部分中的元素。您通常應該從JavaScript中添加它們。像這樣:

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

對不起,我剛剛注意到你的評論關於刪除從數據庫表示的行。 你也可以使用表單本身的提交動作來做到這一點。

+0

好的我會糾正它,但如何獲得按鈕的ID? – user3170524

+0

@ user3170524,你可以使用'this.id' – Satpal

+0

這個按鈕不需要一個id,它只需要一個引用表單id的函數。 'function(id){document.getElementById(id).style.display =「none」; }' –