В моем приложении asp.net несколько пользовательских элементов управления (.ascx) отображаются на родительской странице (.aspx). В каждом пользовательском элементе управления я вызываю функции javascript и некоторые другие клиентские события Infragistics (которые могут принимать только определенные параметры). Эти функции написаны во внешнем файле JavaScript и включены с родительской страницы.
Проблема в том, что когда я использую $ find ("<% = Me.grdDataTable.ClientID%>") внутри каждой функции, чтобы найти пользовательский элемент управления, откуда поступил вызов, он возвращается как ноль. Я не могу изменить аргументы, передаваемые в некоторые методы JS, поскольку они связаны с событиями Infragistics, которые принимают только конкретные аргументы.
Есть ли способ найти Client Id пользовательского элемента управления, из которого вызывается метод JavaScript, без введения входного аргумента в методы JS?
Некоторые из методов JS, которые я использую:
function WebDataGridControl_AddRow() {
// Commit the row that was added to ROWADDING server event
$find("<%= Me.grdDataTable.ClientID%>")
.get_behaviors()
.get_editingCore()
.get_behaviors().get_rowAdding()._commitRow();
}
function WebDataGridControl_RowSelection_Changed(webDataGrid, evntArgs) {
// When row is changed, get the index of the row selected
var grid = $find("<%= Me.grdDataTable.ClientID%>");
var gridBehaviors = grid.get_behaviors();
var row = gridBehaviors.get_selection().get_selectedRows().getItem(0);
$('#<%=hdnEditRow.ClientID%>').val(row.get_index());
}
Спасибо,
AV