Просто добавьте блок скрипта в любом месте после объявления GridView, и он должен работать со стандартным столбцом GridView без шаблонов.В коде нет кода, так как это чисто решение Javascript.
Используйте это, если вы используете столбец GridView типа Link:
<script type="text/javascript">
// a:contains(The text of the link here)
$('#<%= theGridViewID.ClientID %> a:contains(Update)').click(function () {
alert('Update click event captured from the link!');
// return false: stop the postback from happening
// return true or don't return anything: continue with the postback
});
</script>
Используйте это, если вы используете Button-введите столбец GridView, и вы не хотите, чтобы ваш Javascript блокировал обратную передачу:
<script type="text/javascript">
// :button[value=The text of the button here]
$('#<%= theGridViewID.ClientID %> :button[value=Update]').click(function () {
alert('Update click event captured from the button!');
});
</script>
Используйте это, если вы используете столбец типа GridView типа Button, и вы хотите иметь контроль, продолжать ли обратную передачуnot:
<script type="text/javascript">
// :button[value=The text of the button here]
var updateButtons = $('#<%= theGridViewID.ClientID %> :button[value=Update]');
updateButtons
.attr('onclick', null)
.click(function () {
alert('Update click event captured from the button!');
var doPostBack = true; // decide whether to do postback or not
if (doPostBack) {
var index = updateButtons.index($(this));
// 'Update$' refers to the GridView command name + dollar sign
__doPostBack('<%= theGridViewID.UniqueID %>', 'Update$' + index);
}
});
</script>
Обновление: Я думаю, что это было бы лучшим решением вместо последнего (третьего) блока скриптов, который я представил выше, так как вам не нужнообновлять вызов функции __doPostBack вручную на основе имени команды, и поэтому оно должно быть менее подвержено ошибкам:
<script type="text/javascript">
// :button[value=The text of the button here]
var updateButtons = $('#<%= theGridViewID.ClientID %> :button[value=Update]');
updateButtons.each(function () {
var onclick = $(this).attr('onclick');
$(this).attr('onclick', null).click(function () {
alert('Update click event captured from the button!');
var doPostBack = true; // decide whether to do postback or not
if (doPostBack) {
onclick();
}
});
});
</script>
Благодарим Аристоса за эту идею.:)