Solved

Disabling then reenabling a button in a confirmation box

Posted on 2011-02-11
1
439 Views
Last Modified: 2012-05-11
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
Comment
Question by:Lilliman
1 Comment
 

Accepted Solution

by:
Lilliman earned 0 total points
ID: 34896719
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question