In prova la tua esempio di cui sopra, ho scoperto che la forma del GridView
è contenuta in viene presentata ogni volta che si fa clic sul LinkButton
. Per ovviare a questo ho usato il seguente codice.
Il seguente script verrà conteggiato ogni volta che l'utente fa clic sul collegamento.
<script type="text/javascript">
var clickNo = 0;
function clickCounter() {
clickNo++;
if (clickNo == 2) {
alert("Double Click");
clickNo = 0;
}
}
</script>
Annulliamo l'invio del modulo in modo da poter tenere traccia del numero di volte che l'utente fa clic sul collegamento. Ciò potrebbe causare problemi con la tua pagina, ma sembra essere il motivo per cui non è possibile tenere traccia dei doppi clic.
<form id="form1" runat="server" onsubmit="return false;">
ho creato un campo modello in un controllo GridView
per mostrare entrambi i tasti doppio click singolo scatto e.
<asp:TemplateField HeaderText="Edit">
<ItemTemplate>
<asp:LinkButton ID="lnkBtnEdit" runat="server">LinkButton</asp:LinkButton>
<asp:LinkButton ID="lnkBtnEditDouble" runat="server">LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
Nel codice dietro la pagina che aggiungere il codice javascript
per un singolo clic e il codice javascript
per un doppio clic. Nota: il riferimento di cella è impostato su 2 mentre nel tuo esempio era 4, a causa delle colonne limitate che ho usato nei miei test.
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Please note: the value in Cells has changed for my testing data.
LinkButton btn = (LinkButton)e.Row.Cells[2].FindControl("lnkBtnEdit");
btn.Attributes.Add("onclick", "javascript:alert('Single Click');");
LinkButton btnDouble = (LinkButton)e.Row.Cells[2].FindControl("lnkBtnEditDouble");
btnDouble.Attributes.Add("onclick", "javascript:clickCounter();");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Ciò dovrebbe consentire di acquisire doppio clic su alcuni collegamenti e singoli clic su altri. Tuttavia, come menzionato sopra, l'invio del modulo è ora annullato e dovrai trovare un altro metodo per inviare i tuoi dati se devi usare il codice sopra.
fonte
2012-01-20 11:15:26
http://www.codeproject.com/KB/webforms/DoubleClickGridviewRow.aspx – Neha