or

| #region private properties |
| private RadAjaxManager _radAjaxManager = null; |
| #endregion |
| protected override void OnInit(EventArgs e) |
| { |
| RadScriptManager scriptManager = new RadScriptManager(); |
| Controls.Add(scriptManager); |
| RadAjaxManager radAjaxManager = new RadAjaxManager(); |
| radAjaxManager.ID = "radAjaxManager"; |
| _radAjaxManager = radAjaxManager; |
| Controls.Add(radAjaxManager); |
| base.OnInit(e); |
| scriptManager.Scripts.Add(new ScriptReference("Elevate.UI.Scripts.Search.js", "Elevate")); |
| } |
| protected override void CreateChildControls() |
| { |
| RadAjaxLoadingPanel radAjaxLoadingPanel = new RadAjaxLoadingPanel(); |
| radAjaxLoadingPanel.ID = "ajaxLoadingPanel"; |
| radAjaxLoadingPanel.Skin = "Default"; |
| Controls.Add(radAjaxLoadingPanel); |
| /* Child Controls Creation */ |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(button1, simplePanel, radAjaxLoadingPanel); |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(linkButton1, simplePanel, radAjaxLoadingPanel); |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(lbMLS, simplePanel, radAjaxLoadingPanel); |
| } |
<asp:Content ID="Content2" ContentPlaceHolderID="Content" runat="server"> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> <div style="margin-bottom: 25px;"> <asp:Label ID="lblError" runat="server" EnableViewState="false" Style="color: Red; font-size: 16px;" /><br /> </div> <telerik:RadScriptBlock runat="server"> <script type="text/javascript"> function OnClientFilesUploaded(sender, args) { $find('<%= RadAjaxManager1.ClientID %>').ajaxRequest(); } </script> </telerik:RadScriptBlock> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnablePageHeadUpdate="false"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadImageEditor1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div id="dwndWrapper"> <telerik:RadAsyncUpload ID="AsyncUpload1" runat="server" OnClientFilesUploaded="OnClientFilesUploaded" OnFileUploaded="AsyncUpload1_FileUploaded" MaxFileSize="2097152" AllowedFileExtensions="jpg,png,gif,bmp" AutoAddFileInputs="false" Localization-Select="Upload Image" /> <asp:Label ID="Label1" Text="*Size limit: 2MB" runat="server" Style="font-size: 10px;"></asp:Label> </div> <telerik:RadImageEditor ID="RadImageEditor1" runat="server" OnImageLoading="RadImageEditor1_ImageLoading" Width="300px" Height="300px" ExternalDialogsPath="~/user" ToolsFile="~/user/tools.xml" OnImageSaving="RadImageEditor1_ImageSaving" OnClientCommandExecuting="modifyCommand" CanvasMode="No"> </telerik:RadImageEditor></asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="Scripts" runat="server"> <telerik:RadCodeBlock ID="codeblock1" runat="server"> <script type="text/javascript"> function modifyCommand(imageEditor, args) { if (args.get_commandName() == "Crop") { waitForCommand(imageEditor, args.get_commandName(), function (widget) { var width = 149; var height = 170; var ratio = width / height; //stop the aspect ratio constraint //widget._constraintBtn.set_checked(false); //widget._setCropBoxRatio(null); //widget._sizeRatio = null; widget._setCropBoxRatio(ratio); widget._sizeRatio = ratio; widget.set_width(width); widget.set_height(height); widget._constraintBtn.set_enabled(false); widget._updateCropBoxFromControls(); }); } if (args.get_commandName() == "Save") {//doesn't work setTimeout(function () { $find("<%=RadImageEditor1.ClientID %>").applyChangesOnServer(); }, 300) ; var filename = imageEditor.getEditableImage();.//gives error about being unable to deserialize an empty string imageEditor.editImageOnServer("Crop", "Crop", "Crop", callbackFunction); imageEditor.saveImageOnServer(filename, true); imageEditor.setToggleState('Save', false); args.set_cancel(true); } } function callbackFunction(clientData, serverData) { var imgEditor = $find("<%=RadImageEditor1.ClientID %>"); imgEditor.getEditableImage()._finishReset(); }'always called, always loads original image Protected Sub RadImageEditor1_ImageLoading(sender As Object, args As ImageEditorLoadingEventArgs) ' Handle Uploaded images If Not [Object].Equals(Context.Cache.[Get](Session.SessionID + "UploadedFile"), Nothing) Then Using image As New EditableImage(DirectCast(Context.Cache.[Get](Session.SessionID + "UploadedFile"), MemoryStream)) args.Image = image.Clone() args.Cancel = True End Using End If End Sub'saves original image, not cropped one seen on screen Protected Sub RadImageEditor1_ImageSaving(sender As Object, args As Telerik.Web.UI.ImageEditorSavingEventArgs) 'Save the image to a custom location Dim fullPath As String = Server.MapPath("~/temp") Dim fileName As String = String.Format("test-{0}.jpg", DateTime.Now.ToString("yyyyMMdd-hhmmss")) fullPath = Path.Combine(fullPath, fileName) Dim img As Telerik.Web.UI.ImageEditor.EditableImage = args.Image Try img.Image.Save(fullPath) 'lblError.Text = "File Saved"; args.Argument = [String].Format("The image is saved under the name: <strong>{0}</strong>.", fileName) args.Cancel = True Catch ex As Exception args.Argument = ex.Message End Try End Sub'never called Protected Sub RadImageEditor1_ImageEditing(sender As Object, args As ImageEditorEditingEventArgs) args.Cancel = True End Sub

