У меня есть хранимая процедура, которая будет возвращать набор результатов с n количеством столбцов (логика хранимой процедуры определяет возвращаемые столбцы), которые я использую для построения "сетки" на лету. Для этого я использую DataTable, который я перечисляю во время выполнения, для динамического построения DataColumns:
<table>
<thead>
<% foreach (System.Data.DataColumn column in ((System.Data.DataTable)Model).Columns)
{ %>
<th>
<%: column.Caption %>
<input id="Image1" type="image" src="../Content/theme/images/arrowhead-down.jpg" width="9px" height="5px"/></th>
</th>
<%}%>
</thead>
<tbody>
<%
foreach (System.Data.DataRow row in ((System.Data.DataTable)Model).Rows)
{%>
<tr>
<% foreach (var column in row.ItemArray)
{ %>
<td>
<%: column.ToString() %>
</td>
<%}%>
</tr>
<%
}
%>
</tbody>
</table>
Ввод типа изображения (кнопка) будет включен для каждого нового элемента столбца. По сути, эта кнопка позволит скрыть столбец с помощью некоторых сценариев:
$(document).ready(function () {
$('#Image1').click(function () {
$('td:nth-child(3),th:nth-child(3)').hide();
});
});
Итак, мой вопрос заключается в следующем: как я могу заставить каждую из вновь созданных кнопок вызывать одну и ту же функцию независимо от названия кнопки (поскольку я не буду знать, сколько кнопок будет создано или их названия)?