Using jquery-ui dialog as a confirm dialog with an ASP:LinkButton (how to invoke the postbck)?

OK, here's my approach (it works, but it might not be the best solution).

Up vote 2 down vote favorite 2 share g+ share fb share tw.

I'd like to use jQuery UI's dialog to implement a confirm dialog which is shown when the user clicks a delete-link (implemented using an asp:LinkButton). I'm using code as shown below (copied from the jquery ui documentation): Are you sure you want to permanently deleted the selected items? So in the click event handler, I have to prevent the default action of the LinkButton (the postback) and instead display the dialog.

My question is: how can I then invoke the default action (the postback) of the delete link to perform the postback in case the user clicked the "Delete all items" button in the dialog? Asp.net jquery-ui jquery-ui-dialog asp. Net-webforms link|improve this question edited Aug 19 '11 at 9:46 asked Nov 9 '10 at 13:11M4N30.3k554115 87% accept rate.

OK, here's my approach (it works, but it might not be the best solution): $(document). Ready(function () { $('#dialog-confirm-cancel'). Dialog({ autoOpen: false, modal: true, buttons: { "Delete all items": function () { // invoke the href (postback) of the linkbutton, // that triggered the confirm-dialog eval($(this).

Dialog('option', 'onOk')); $(this). Dialog("close"); }, Cancel: function () { $(this). Dialog("close"); } } }); $('.

BtnDelete'). Click(function () { $('#dialog-confirm-delete') // pass the value of the LinkButton's href to the dialog . Dialog('option', 'onOk', $(this).

Attr('href')) . Dialog('open'); // prevent the default action, e.g. , following a link return false; }); }).

– Richard Marskell - Drackir Nov 9 '10 at 19:07 @Drackir: It's not a path to a file. I want to invoke the PostBack of the LinkButton, which is a javascript function call, e.g. __doPostback(...) – M4N Dec 9 '10 at 21:12 So the href contains that JavaScript code? – Richard Marskell - Drackir Dec 9 '10 at 21:31 @Drackir: yes, exactly (that's the way how postbacks work in ASP.

NET) – M4N Dec 10 '10 at 9:03.

If you're not doing anything more than confirming you can add an attribute to the button.

");. However, M4N said that they are using jQuery Dialogs for this and so they probably want to keep a coherent feel for all message boxes/pop-ups. – Richard Marskell - Drackir Nov 9 '10 at 16:44 lol I couldnt remember what it was, I havent used webforms in a couple years.

I guess you can do that on action links as well, but yea its understandable if you're keeping a unified look. It just seems like a lot of work for a confirm dailog. – Justin Soliz Nov 9 '10 at 17:47 Thanks, but it's not a simple confirm dialog.

The dialog also contains other elements (textboxes, etc.). – M4N Nov 10 '10 at 7:49.

If you look at the Project Awesome on Codeplex it has a generic implementation of a Confirm Dialog that you can inspect for your scope.

So adding location. Replace('path/to/file'); after $(this). Dialog('close'); would solve your problem.

Not sure I understood your question right though.

I don't have a path to a file. I want to invoke the PostBack of the LinkButton (which is a javascript function call: __doPostback(...)) – M4N Nov 9 '10 at 15:31.

Try adding $("#yourformid").submit(); at this spot // ===>>> how to invoke the default action here. According to the docs: "... the default submit action on the form will be fired, so the form will be submitted. " Edit You can try to do something like this: $('.

BtnDelete'). Click(function (event, confirmed) { if (confirmed) { return true; } else { $('#dialog-confirm-cancel'). Dialog('open'); // prevent the default action, e.g. , following a link return false; } }); And then in your delete all items function: "Delete all items": function () { $(this).

Dialog("close"); $('. BtnDelete'). Trigger("click", true); }.

I don't think this will work. I have to invoke the LinkButton's PostBack. – M4N Nov 9 '10 at 15:32 @M4N - Have you tried calling the .click() function on the button ID?

Ex: $("#buttonid").click(); You may need to get the button's ClientID at runtime for this to be sure Asp. Net doesn't screw up the name. I don't have Asp.

Net here but it should be something like this: $("#").click(); – Richard Marskell - Drackir Nov 9 '10 at 15:39 Wouldn't that trigger the click event handler once again? – M4N Nov 9 '10 at 16:17 @M4N - Good point. What if you stored a global variable as to whether or not it had been confirmed and if it has, ignore the dialog open and return true?

I also have another idea that doesn't require a global variable which I will edit into my answer. – Richard Marskell - Drackir Nov 9 '10 at 16:30.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions