我在更新面板和转发器控件中有文件上传控件。中继器控件有一个图像按钮。按下此按钮时,将发生回发,并且文件上载控件没有值。当回发发生时,我使用回发触发器在会话中存储fileupload控件。 在页面加载时,我们从会话分配fileupload控件 但Fileupload控件显示没有选择文件而不是选定的文件名。
<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");
}
}
}
我希望fileupload控件在回发后显示文件名。 请建议。
提前致谢。