/// <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); } } }
/// <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); }