La cuestión es que tengo una acción que es la que me está dando guerra, la acción de editar. Sólo quiero que realmente se produzca cuando el usuario haya seleccionado un único checkbox. Para saber el número de seleccionados tengo una función "devuelveSeleccionados" a la que llamo desde el evento CheckedChanged y en función del resultado intento o no permitir la ejecución del servicio.
He estado haciendo varias pruebas y ahora en el evento checked_changed del checkbox tengo lo siguiente:
He probado con onclick y con onclientclik pero nada.
Protected Sub chkSelec_CheckedChanged(sender As Object, e As EventArgs)
Dim mCheck As CheckBox = CType(sender, CheckBox)
Dim mSeleccionados As List(Of String) = devuelveSeleccionados(mCheck.Parent.Parent.Parent. Parent)
If mSeleccionados.Count > 1 Or mSeleccionados.Count = 0 Then
linkEditar.Attributes.Add("OnClientClick", "algo()")
'linkEditar.Attributes.Add("onclick", "alert('Desactivado'); return false;")
End If
End Sub
En la pag aspx tengo implementada la función en javascript "algo()" que siempre devuelve false
function algo() {
return false;
}
El linkbutton lo tengo definido así:
Código HTML:
<li> <%--ActionItem: 'EDITAR'--%> <asp:LinkButton ID="linkEditar" Text="Modificar" OnClick="linkEditar_Click" runat="server" ></asp:LinkButton> </li>
Código HTML:
<li> <a id="ContentPlaceHolder1_linkEditar" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$linkEditar','')">Modificar</a> </li>
Os comento también que el checkbox lo tengo dentro de un gridview y este dentro de un updatepanel.
A ver si me podéis iluminar.
Gracias