[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 448
  • Last Modified:

Disabling then reenabling a button in a confirmation box

Hi,

I'm trying to use AJAXControlToolKit to create a confirmation box that allows a user to upload a file. There's also an "OK" and a "Cancel" button on the confirmation box. For the most part it's all working, however I need to disable the "OK" button when the upload starts then reenable it when the upload is completed because allowing the user to press "OK" during upload throws an exception. I've already looked into setting the upload to start on the "OK" button click event but due to different instances of an argument this doesn't seem like an option.

This is the what builds the box when the event is called

 
protected void cnfUpload_Actioned(object sender, ConfirmationBoxEventArgs e)
    {
        e.ButtonStyle = ConfirmationBoxButtonStyle.AcknowledgeCancelUpload;
        e.Message = "Select a WAV file to upload...";
        e.Icon = ConfirmationBoxIcons.Information;
        Session.Contents["UploadedFile"] = null;
        Session.Contents["FileName"] = null;
    }

Open in new window


This is the event where the upload takes place and where I'd like the disable and reenable the "OK" button.

 
protected void cbUpload_Uploaded(object sender, ConfirmationBoxEventArgs e)
    {
        //List View Upload - leads to edit
        ConfirmationBox cb = sender as ConfirmationBox; 
        
        byte[] bFile = new byte[e.DataStream.Length];
        e.DataStream.Read(bFile, 0, Convert.ToInt32(e.DataStream.Length));

        try
        {
            //PromptData.SetAudio(Convert.ToInt32(cb.Reference), e.Filename, bFile);

            Prompt.SetAudio(Convert.ToInt32(cb.Reference), e.Filename, AudioFile.ConvertToALaw(bFile));
            SessionManager.UploadError = false;
        }
        catch (Exception ex)
        {
            SessionManager.UploadError = true;
            diags.Error(Request, "Could not upload Temporary File", ex);
        }
    }

Open in new window


This is the code that builds the confirmation box on click of a button

<sso:ConfirmationBox ID="cbUpload" runat="server" 
                            ShowCancelButton="false"
                            ButtonStyle="AcknowledgeCancelUpload"
                            ActionButtonStyle="Image"
                            Reference='<%# Eval("ID") %>'
                            ActionButtonImage="~/Icons/16x16/ictupload.png"
                            OnActioned="cnfUpload_Actioned"
                            OnFileUploaded="cbUpload_Uploaded"
                            OnAcknowledgeClicked="cbUpload_AcknowledgeClicked"
                            OnCancelClicked="cbUpload_CancelClicked"
                            ActionImageAlt="Upload"
                         />

Open in new window


Apologies if I have not included enough information/code. But any help would be appreciated.

Many thanks.
0
Lilliman
Asked:
Lilliman
1 Solution
 
LillimanAuthor Commented:
It seems that there isn't an ovbious way of doing this but I have managed to get around it by using  div tags in where the confirmation box is referenced and set the button's visibility to false, then I have used a small piece of javascript to set the button's visibility back to true again  when it's needed.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now