/// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.PreRender"/> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs"/> object that contains the event data.</param>
        protected override void OnPreRender(EventArgs e)
        {
            DJUploadController controller;

            controller = DJUploadController.GetController(Page);

            if (controller != null)
            {
                _frame.Attributes["src"] = _progressURL + "?DJUploadStatus=" + controller.UploadID;

                if (controller.ShowProgressBar)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), ID, "up_killProgress('" + ClientID + "')", true);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Called by the ASP.NET page framework to notify server controls that use
        /// composition-based implementation to create any child controls they contain
        /// in preparation for posting back or rendering.
        /// </summary>
        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            _controller     = DJUploadController.GetController(Page);
            _uploadControls = new List <System.Web.UI.WebControls.FileUpload>();

            // Create the parameter field
            _parameters = new HiddenField();
            Controls.Add(_parameters);

            // Create the container
            Panel outerContainer = new Panel();

            outerContainer.CssClass = "upUploadBox";
            Controls.Add(outerContainer);

            // Create the file uploads
            Panel fuContainer = new Panel();

            for (int i = 0; i < MaxFileUploads; i++)
            {
                if (ApplyStyles)
                {
                    fuContainer.CssClass = "upFileInputs";
                }
                else
                {
                    fuContainer.CssClass = "upContainerNormal";
                }

                outerContainer.Controls.Add(fuContainer);

                System.Web.UI.WebControls.FileUpload fu = new System.Web.UI.WebControls.FileUpload();
                fu.CssClass = "upFileNormal";
                if (System.Web.HttpContext.Current.Request.Browser.Browser.IndexOf("IE") >= 0)
                {
                    fu.CssClass = "upFileNormal_IE";
                }
                _uploadControls.Add(fu);
                fuContainer.Controls.Add(fu);

                //if (ApplyStyles)
                //{
                //    ImageButton btnRemove = new ImageButton();
                //    fuContainer.Controls.Add(btnRemove);
                //    btnRemove.AlternateText = "Remove upload";
                //    btnRemove.ImageUrl = _controller.ImagePath + "removebutton.gif";
                //    btnRemove.OnClientClick = "up_RemoveUpload(this); return false;";
                //    btnRemove.CssClass = "upRemoveButton upShowDynamic";
                //}
                //else
                //{
                //    Button btnRemove = new Button();
                //    fuContainer.Controls.Add(btnRemove);
                //    btnRemove.OnClientClick = "up_RemoveUpload(this); return false;";
                //    btnRemove.Text = "Remove";
                //    btnRemove.CssClass = "upButtonNormal upShowDynamic";
                //}

                if (i >= InitialFileUploads)
                {
                    fuContainer.CssClass += " upHiddenDynamic";
                }
            }

            // Create the buttons
            if (ApplyStyles)
            {
                ImageButton btnGo = new ImageButton();
                fuContainer.Controls.Add(btnGo);
                btnGo.AlternateText    = "Upload now";
                btnGo.ImageUrl         = _controller.ImagePath + "uploadbutton.gif";
                btnGo.Visible          = ShowUploadButton;
                btnGo.CausesValidation = true;
                btnGo.CssClass         = "upGoButton";
            }
            else
            {
                Button btnGo = new Button();
                fuContainer.Controls.Add(btnGo);
                btnGo.Text             = "Upload";
                btnGo.Visible          = ShowUploadButton;
                btnGo.CausesValidation = true;
                btnGo.CssClass         = "upButtonNormal";
                btnGo.Attributes.Add("ajaxcall", "none");
            }

            if (ApplyStyles)
            {
                ImageButton btnAdd = new ImageButton();
                fuContainer.Controls.Add(btnAdd);
                btnAdd.AlternateText = "Add a new upload";
                btnAdd.ImageUrl      = _controller.ImagePath + "addbutton.gif";
                btnAdd.OnClientClick = "up_AddUpload('" + ClientID + "'); return false;";
                btnAdd.Visible       = ShowAddButton;
                btnAdd.CssClass      = "upAddButton upShowDynamic";
            }
            else
            {
                Button btnAdd = new Button();
                fuContainer.Controls.Add(btnAdd);
                btnAdd.Text          = "Add";
                btnAdd.OnClientClick = "up_AddUpload('" + ClientID + "'); return false;";
                btnAdd.Visible       = ShowAddButton;
                btnAdd.CssClass      = "upButtonNormal upShowDynamic";
            }



            //Panel buttonContainer = new Panel();
            //buttonContainer.CssClass = "upButtons";

            //// Create the buttons
            //if (ApplyStyles)
            //{
            //    ImageButton btnGo = new ImageButton();
            //    buttonContainer.Controls.Add(btnGo);
            //    btnGo.AlternateText = "Upload now";
            //    btnGo.ImageUrl = _controller.ImagePath + "uploadbutton.gif";
            //    btnGo.Visible = ShowUploadButton;
            //    btnGo.CausesValidation = true;
            //    btnGo.CssClass = "upGoButton";
            //}
            //else
            //{
            //    Button btnGo = new Button();
            //    buttonContainer.Controls.Add(btnGo);
            //    btnGo.Text = "Upload";
            //    btnGo.Visible = ShowUploadButton;
            //    btnGo.CausesValidation = true;
            //    btnGo.CssClass = "upButtonNormal";
            //    btnGo.Attributes.Add("ajaxcall", "none");
            //}

            //if (ApplyStyles)
            //{
            //    ImageButton btnAdd = new ImageButton();
            //    buttonContainer.Controls.Add(btnAdd);
            //    btnAdd.AlternateText = "Add a new upload";
            //    btnAdd.ImageUrl = _controller.ImagePath + "addbutton.gif";
            //    btnAdd.OnClientClick = "up_AddUpload('" + ClientID + "'); return false;";
            //    btnAdd.Visible = ShowAddButton;
            //    btnAdd.CssClass = "upAddButton upShowDynamic";
            //}
            //else
            //{
            //    Button btnAdd = new Button();
            //    buttonContainer.Controls.Add(btnAdd);
            //    btnAdd.Text = "Add";
            //    btnAdd.OnClientClick = "up_AddUpload('" + ClientID + "'); return false;";
            //    btnAdd.Visible = ShowAddButton;
            //    btnAdd.CssClass = "upButtonNormal upShowDynamic";
            //}

            //outerContainer.Controls.Add(buttonContainer);

            CustomValidator val = new CustomValidator();

            val.ServerValidate          += new ServerValidateEventHandler(val_ServerValidate);
            val.ClientValidationFunction = "up_ValidateUpload";
            val.ErrorMessage             = RequiredMessage;
            val.Enabled = val.EnableClientScript = RequiredField;
            val.Display = ValidatorDisplay.Dynamic;
            Controls.Add(val);

            HiddenField extensions = new HiddenField();

            extensions.Value = AllowedFileExtensions;
            Controls.Add(extensions);

            CustomValidator valExtensions = new CustomValidator();

            valExtensions.ClientValidationFunction = "up_ValidateUploadExtensions";
            valExtensions.ErrorMessage             = InvalidExtensionMessage;
            valExtensions.EnableClientScript       = valExtensions.EnableClientScript = (AllowedFileExtensions != null);
            valExtensions.Display = ValidatorDisplay.Dynamic;
            Controls.Add(valExtensions);

            // Create the end marker
            _endMarker = new HiddenField();
            Controls.Add(_endMarker);
        }