Attachments Binding Code
Aspx Page
<tr>
<td>
<asp:Label ID="lblAttachments" runat="server" Text="Attachments (If any) :-" Font-Bold="True"></asp:Label>
</td>
<td>
<asp:FileUpload ID="fuAttachments" runat="server" />
<asp:Button ID="btnAttachFile" runat="server" Text="Attach" OnClick="btnAttachFile_Click" />
<asp:HiddenField ID="hfFiles" runat="server" />
<asp:HiddenField ID="hfFileNames" runat="server" />
<asp:CheckBoxList ID="chkAttachedFiles" runat="server" ValidationGroup="gr1" Visible="false">
</asp:CheckBoxList>
<%-- <asp:RequiredFieldValidator ID="rvchkAttachedFiles" ControlToValidate="chkAttachedFiles"
runat="server" ErrorMessage="RequiredFieldValidator" ValidationGroup="gr1"></asp:RequiredFieldValidator>
--%>
<asp:Button ID="btnRemoveFile" runat="server" Text="Remove" OnClick="btnRemoveFile_Click"
Visible="false" />
<asp:Label ID="lblviewAttachments" runat="server" Visible="false"></asp:Label>
<asp:Panel ID="pnlAttachments" runat="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