Hello misters,
I have a page ASPX with ModalPopupExtender control, with the following properties:
TargetControlID="btnAnyadirObs"
PopupControlID="Panel1"
OkControlID="btnAnyadirObsAceptar"
CancelControlID="btnAnyadirObsCancel"
OnOkScript="onYes()"
OnCancelScript="onCancel()"
I have a Panel (Panel1) with two buttons: btnAnyadirObsAceptar and btnAnyadirObsCancel.
The buttons have Click event (code-behind .cs).
My trouble is that it is not execute Click event for button btnAnyadirObsAceptar (the OkControlID). I want to press the button OK in modal popup extender and I call Click event (server event of code-behind, file .cs).
Only execute onYes function javascript but it fails because typeof(Sys.WebForms.PostBackAction) == "undefined"
For javascript function onCancel() , $("Label1") fails.
See all code below, please.
The code begins here:
<asp:Label ID="Label1" runat="server" />
... more code...
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="btnAnyadirObs"
PopupControlID="Panel1"
OkControlID="btnAnyadirObsAceptar"
CancelControlID="btnAnyadirObsCancel"
OnOkScript="onYes()"
OnCancelScript="onCancel()"
DropShadow="true" PopupDragHandleControlID="Panel3">
</cc1:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" Style="display: none">
<asp:Panel ID="Panel3" runat="server"><div>TITLE</div></asp:Panel>
<filtros:EmbeddedUserControlLoader ID="UCObservacionesPopup" runat="server" AssemblyName="TareaRetenida.UC"
ControlClassName="UCRetenidaCentrolControlObservacionesPopup" ControlNamespace="TareaRetenida.UC" />
<controles:Boton ID="btnAnyadirObsAceptar" runat="server" CausesValidation="false" Text="Resx OK" OnClick="btnAnyadirObsAceptar_Click" />
<controles:Boton ID="btnAnyadirObsCancel" runat="server" CausesValidation="false" Text="Resx Cancel" OnClick="btnAnyadirObsCancel_Click" />
</asp:Panel>
The javascript functions:
function onYes()
{
var idBoton= "MY CLIENTID OF BUTTON OK";
if (typeof(Sys.WebForms.PostBackAction) != "undefined")
{
var postBack = new Sys.WebForms.PostBackAction();
postBack.set_target(idBoton);
postBack.set_eventArgument('');
postBack.performAction();
}
}
function onCancel()
{
//no postback necessary
try
{
$('Label1').innerText = 'Action canceled';
}
catch(err)
{
alert('onCancel' + "Error " + err.description);
}
}
Thanks in advanced, greetings regards
Hi,
you need to clear the OKControlID property otherwise the postback won't be propagated to the server.
Grz, Kris.
I am having the same issue. I cleared the OKControlID and now my js is not running? Is there something else I need to do?
Hi Alice,
myNameIsAlice:
I cleared the OKControlID and now my js is not running?
which js isn't running? Know that clearing the OKControlID just makes it a normal postbacking control again.
Grz, Kris.
No comments:
Post a Comment