AsyncUpload and Rad grid funtionality is not working for IE8

2 posts, 0 answers
  1. Mary Presciba
    Mary Presciba avatar
    2 posts
    Member since:
    Oct 2013

    Posted 24 Oct 2013 Link to this post

    Hi,

    We have a code where we upload files using AsyncUpload control and as soon as the file is uploaded that will be added to the Radgrid control. Max of 5 uploads in allowed.
     This functionality is working fine in IE10,Chrome and firefox. But for IE8, after a file is uploaded it is added to the grid and if again a new file is uploaded, the previous file is updated with the new file in the grid instead of adding a new row. and when we click on send the file is not at all saved.A dummy click is called after the file upload to add the file to the grid. Can you please help us in this issue

    thanks in Advance

    Regards,
    Mary
  2. Mary Presciba
    Mary Presciba avatar
    2 posts
    Member since:
    Oct 2013

    Posted 24 Oct 2013 Link to this post

                    <p>
                        Add attachment (optional)<br />
                        Up to five attachments are allowed. Maximum size per file is 10 MB.
                        Supported file types: <span id="supportedFileFormats"><%= string.Join(", ", Nokia.AWAP.APPortal.BusinessObjects.Validation.Queries.QueryValidatorSettings.SupportedFileFormats) %></span>.
                        <br />
                        <telerik:RadAsyncUpload runat="server" ID="UploadFiles"
                            Localization-Select="Browse" InputSize="35"
                            DisablePlugins="false"
                            MultipleFileSelection="Automatic"
                            MaxFileInputsCount="100"
                            MaxFileSize="10000000"
                            OnFileUploaded="UploadFiles_OnFileUploaded"
                            OnClientFilesUploaded="onClientAttachmentsUploaded"
                           />
                        </p>
                     
                       <div id="0_pastable" class="pastableHide">
                            Paste your image here (optional)
                            <div id="0_paste" class="paste" contenteditable="true"></div>
                        </div>
                         
                        <asp:PlaceHolder runat="server" ID="ShowFiles">
                            <div style="margin-bottom: 10px;">
                            <telerik:RadGrid ID="Files" runat="server" Visible="true" AutoGenerateColumns="false" Width="300"
                                OnItemDataBound="Files_OnItemDataBound"
                                OnNeedDataSource="Files_OnNeedDataSource"
                                OnItemCommand="Files_RowCommand" >
                                <MasterTableView DataKeyNames="FileName">
                                    <Columns>
                                        <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="DeleteRow"
                                            UniqueName="DeleteColumn" Text="Remove" HeaderStyle-Width="30" />
                                        <telerik:GridHyperLinkColumn
                                            DataTextField="FileName"
                                            DataNavigateUrlFields="UIId" DataNavigateUrlFormatString="../DownloadAttachment.ashx?id={0}&t=qnew" />
                                    </Columns>
                                </MasterTableView>
                                <ClientSettings EnableAlternatingItems="false" />
                            </telerik:RadGrid>
                            </div>
                        </asp:PlaceHolder>                    
                                     
      
      
    backend .cs code
            protected void UploadFiles_OnFileUploaded(object sender, FileUploadedEventArgs e)
            {
      
                var item = new PortalFileUpload(Guid.NewGuid().ToString(), e.File.FileName,
      
                GetContentType(e.File.FileName, e.File.ContentType),
      
                RadUploadHelper.GetFileBytes(e.File));
      
                var exists = Container.Attachments.Where(x => x.FileName.Equals(item.FileName, StringComparison.OrdinalIgnoreCase) &&
      
                x.Size == item.Size).SingleOrDefault();
      
                if (exists != null)
      
                    Container.Attachments.Remove(exists);
      
                Container.Attachments.Add(item);
      
                Files.Rebind();
            }
      
            private string GetContentType(string fileName, string contentType)
            {
      
                if (contentType == null && fileName.EndsWith(".msg"))
      
                    return "application/vnd.ms-outlook";
      
                return contentType;
      
            }
      
            protected void Dummy_Click(object sender, EventArgs e)
            {
      
                PopulateQuery();
      
                Files.Rebind();
      
            }
      
            protected void Files_OnItemDataBound(object sender, GridItemEventArgs e)
            {
      
                if (e.Item is GridDataItem)
                {
      
                    GridDataItem item = (GridDataItem)e.Item;
      
                    ImageButton imgButton = (ImageButton)item["DeleteColumn"].Controls[0];
      
                    imgButton.ImageUrl = ResolveStaticUrl("images/icons/icon_delete.png");
      
                }
      
            }
      
            protected void Files_OnNeedDataSource(object sender, GridNeedDataSourceEventArgs e)
            {
      
                if (!Container.Attachments.Any())
                {
      
                    ShowFiles.Visible = false;
      
                    return;
      
                }
      
                else
      
                    ShowFiles.Visible = true;
      
                ((RadGrid)sender).DataSource = Container.Attachments;
      
            }
      
            protected void Files_RowCommand(object sender, GridCommandEventArgs e)
            {
      
                if (e.CommandName == "DeleteRow")
                {
      
                    GridDataItem item = e.Item as GridDataItem;
      
                    if (item != null)
                    {
      
                        var fileToBeRemoved = item.GetDataKeyValue("FileName").ToString();
      
                        Container.Attachments.Remove(Container.Attachments.Where(file => file.FileName.Equals(fileToBeRemoved)).First());
      
                        if (Container.Attachments.Any())
      
                            ShowFiles.Visible = true;
      
                        else
      
                            ShowFiles.Visible = false;
      
                        Files.Rebind();
      
                    }
      
                }
      
            }
    Above is the code that we are using for uploading files
Back to Top