I have file upload control inside update panel and repeater control. Repeater control has an image button. When this button is pressed the postback occurs and File upload control has no value. I used postback trigger to store fileupload control in session when postback occurs. At the time of page load we are assigning fileupload control from session but Fileupload control shows No file chosen instead of selected file name.
<tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="text"/>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ApplicationUrl_Repeater" />
</Triggers>
</asp:UpdatePanel>
</td>
</tr>
<tr runat="server" visible="false" id="ApplicationUrl">
<td>
<asp:Repeater ID="ApplicationUrl_Repeater" runat="server" OnItemCommand="RepeaterItemCommmand11" OnItemDataBound="RepeaterItemDataBound11" Visible="True">
<ItemTemplate>
<table>
<tr>
<td>
<asp:TextBox ID="Repeater_ApplicationUrl_TxtBox" Text='<%# Eval("Url") %>' runat="server" CssClass="text" Width="200" MaxLength="1024"></asp:TextBox>
<asp:DropDownList ID="Repeater_ApplicationType_DropdownList" runat="server"></asp:DropDownList>
<asp:ImageButton ID="Repeater_ImgButton" runat="server" CssClass="AddIcon" Height="15px" ImageAlign="Bottom" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
protected void RepeaterItemCommmand11(object source, RepeaterCommandEventArgs e)
{
if (Session["FileUpload1"] == null && FileUpload1.HasFile)
{
Session["FileUpload1"] = FileUpload1;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsPostBack)
{
if (Session["FileUpload1"] != null && !FileUpload1.HasFile)
{
FileUpload1 = (FileUpload)Session["FileUpload1"];
Session.Remove("FileUpload1");
}
}
}
I want fileupload control should display file name after postback. Please suggest.
Thanks in advance.