En las pruebas de su ejemplo anterior, he encontrado que la forma del GridView
está contenida en obtiene presentado cada vez que haga clic en el LinkButton
. Para solucionar este problema, he usado el siguiente código.
La siguiente secuencia de comandos contará cada vez que el usuario haga clic en el enlace.
<script type="text/javascript">
var clickNo = 0;
function clickCounter() {
clickNo++;
if (clickNo == 2) {
alert("Double Click");
clickNo = 0;
}
}
</script>
cancelamos el envío del formulario para que podamos realizar un seguimiento del número de veces que el usuario hace clic en el enlace. Esto puede causar problemas con su página, pero parece ser la razón por la cual no se puede hacer un seguimiento de los clics dobles.
<form id="form1" runat="server" onsubmit="return false;">
he creado un campo de la plantilla en un control GridView
para mostrar tanto la única doble clic para botones de clic y.
<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>
En el código detrás de la página que agregue el código javascript
para un solo clic y el código javascript
para un doble clic. Tenga en cuenta: la referencia de celda se establece en 2, mientras que en su ejemplo fue de 4, debido a las columnas limitadas que utilicé en mi prueba.
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);
}
Esto debería permitirle capturar clics dobles en algunos enlaces y un solo clic en otros. Sin embargo, como se mencionó anteriormente, el envío del formulario ahora está cancelado y deberá buscar otro método para enviar sus datos si va a utilizar el código anterior.
http://www.codeproject.com/KB/webforms/DoubleClickGridviewRow.aspx – Neha