Attachments Binding Code

Aspx Page   
<tr> 
                        <td> 
                            <asp:Label ID="lblAttachmentsrunat="server" Text="Attachments (If any) :-" Font-Bold="True"></asp:Label> 
                        </td> 
                        <td> 
                            <asp:FileUpload ID="fuAttachmentsrunat="server" /> 
                            <asp:Button ID="btnAttachFilerunat="server" Text="Attach" OnClick="btnAttachFile_Click" /> 
                            <asp:HiddenField ID="hfFilesrunat="server" /> 
                            <asp:HiddenField ID="hfFileNamesrunat="server" /> 
                            <asp:CheckBoxList ID="chkAttachedFilesrunat="server" ValidationGroup="gr1" Visible="false"> 
                            </asp:CheckBoxList> 
                            <%--  <asp:RequiredFieldValidator ID="rvchkAttachedFilesControlToValidate="chkAttachedFiles" 
                                runat="server" ErrorMessage="RequiredFieldValidatorValidationGroup="gr1"></asp:RequiredFieldValidator> 
                            --%> 
                            <asp:Button ID="btnRemoveFilerunat="server" Text="Remove" OnClick="btnRemoveFile_Click" 
                                Visible="false" /> 
                            <asp:Label ID="lblviewAttachmentsrunat="server" Visible="false"></asp:Label> 
                            <asp:Panel ID="pnlAttachmentsrunat="server"> 
                            </asp:Panel> 
                        </td> 
                    </tr> 


Aspx.Cs Page 
private void BindingAttachments(SPListItem lstKgnlItem, Panel pnl) 
        { 
            try 
            { 
                if (lstKgnlItem.Attachments.Count > 0) 
                { 
                    StringBuilder sAttNames = new StringBuilder(); 
                    SPAttachmentCollection oFiles = lstKgnlItem.Attachments; 
  
                    if (oFiles.Count > 0) 
                    { 
                        int i = 0; 
                        foreach (var attachment in oFiles) 
                        { 
                            i++; 
                            sAttNames.Append(attachment.ToString()); 
                            LinkButton lnk = new LinkButton(); 
                            //lnk.Attributes.Add("target", "_blank"); 
  
                            lnk.ID = "lnk" + i + pnl.ID; 
                            lnk.Text = attachment.ToString(); 
  
                            lnk.PostBackUrl = lstKgnlItem.Attachments.UrlPrefix.ToString() + attachment.ToString(); 
  
                            pnl.Controls.Add(lnk); 
  
                            fuAttachments.Visible = false; 
                            btnAttachFile.Visible = false; 
  
                            if (pnl == pnlAttachments2) 
                            { 
                                fuKaizenSheet.Visible = false; 
                                btnKaizenSheet.Visible = false; 
                            } 
                        } 
                    } 
                } 
            } 
            catch (Exception ex) 
            { 
  
                Page.ClientScript.RegisterClientScriptBlock(typeof(SPAlert), "alert", "<script language=\"javascript\">alert('" + ex.Message + "')</script>"); 
            } 
        } 


 public bool CheckToDuplicate(string fileName) 
        { 
            foreach (string file in hfFileNames.Value.Split('@')) 
            { 
                if (fileName == file) 
                    return true; 
            } 
            return false; 
        } 
  
        private void RemoveSelectedFiles(CheckBoxList chkFiles, Button btnR) 
        { 
            try 
            { 
                if (chkFiles.Items.Count > 0) 
                { 
                    for (int i = 0; i < chkFiles.Items.Count; i++) 
                    { 
                        if (chkFiles.Items[i].Selected == true) 
                        { 
                            if (hfFileNames.Value.Contains(chkFiles.Items[i].Text + "@")) 
                                hfFileNames.Value = hfFileNames.Value.Replace(chkFiles.Items[i].Text + "@", ""); 
                            else if (hfFileNames.Value.Contains("@" + chkFiles.Items[i].Text)) 
                                hfFileNames.Value = hfFileNames.Value.Replace("@" + chkFiles.Items[i].Text, ""); 
                            else if (hfFileNames.Value.Trim() == chkFiles.Items[i].Text.Trim()) 
                                hfFileNames.Value = ""; 
  
                            if (hfFiles.Value.Contains(chkFiles.Items[i].Value + "@")) 
                                hfFiles.Value = hfFiles.Value.Replace(chkFiles.Items[i].Value + "@", ""); 
                            else if (hfFiles.Value.Contains("@" + chkFiles.Items[i].Value)) 
                                hfFiles.Value = hfFiles.Value.Replace("@" + chkFiles.Items[i].Value, ""); 
                            else if (hfFiles.Value.Trim() == chkFiles.Items[i].Value.Trim()) 
                                hfFiles.Value = ""; 
  
                            chkFiles.Items.RemoveAt(i); 
                            i--; 
                        } 
                    } 
                } 
                if (chkFiles.Items.Count == 0) 
                    btnR.Visible = false; 
            } 
            catch (Exception ex) 
            { 
                Page.ClientScript.RegisterClientScriptBlock(typeof(SPAlert), "alert", "<script language=\"javascript\">alert('" + ex.Message + "')</script>"); 
            } 
        } 

Comments

Popular posts from this blog

SP People Picker Validation

Create multiple web parts in one SPFx Solution

JQgrid Auto Complete functionality for a textbox using Jquerry