【发布时间】:2014-05-06 06:52:59
【问题描述】:
我面临一个奇怪的问题:文件上传在更新面板中不起作用。我知道这是常见问题,但是常见的解决方案在这里不起作用。 即我已尝试使用回发触发器作为上传按钮。
代码如下:
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div runat="server" id="divAttachments" style="margin-top: 10px;">
<div class="attachment collapsableDiv" onclick="HideShowAttachments();" style="margin-left: auto;
margin-right: auto;">
<img id="imgStatusMain" src="../Images/open.gif" class="showHide rightImage" runat="server" />
Attachments <span class="mandatory">*</span>
</div>
<div id="attachmentDiv" style="margin-left: auto; margin-right: auto;">
<asp:GridView runat="server" ID="gvAttachments" CssClass="innerGrid" EmptyDataText="No attachments added"
DataKeyNames="Id" AutoGenerateColumns="false" OnRowDataBound="gvAttachments_RowDataBound"
OnRowCommand="gvAttachments_RowCommand">
<Columns>
<asp:TemplateField HeaderText="File name">
<ItemTemplate>
<asp:LinkButton
runat="server" ID="gvlblFileName" Text='<%#Eval("FileName") %>' OnClick="gvlblFileName_Click"></asp:LinkButton>
<asp:HiddenField runat="server" ID="hfFileName" Value='<%#Eval("Id") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:LinkButton ID="lbtnDelete" runat="server" CausesValidation="False" CommandName="remove"
Text="Delete" ToolTip="Click to delete" CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle CssClass="action" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<span class="label" runat="server" id="spnAttachments" style="margin: 10px 10px 10px 50px;">
Attachments</span>
<asp:FileUpload runat="server" ID="fuAttachements" onchange="UploadFile();" Style="margin: 10px 0px 10px 0px;" /><asp:LinkButton
runat="server" ID="lbUploadFile" OnClick="lbUploadFile_Click"></asp:LinkButton>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCategory" EventName="SelectedIndexChanged" />
<asp:PostBackTrigger ControlID="lbUploadFile" />
</Triggers>
</asp:UpdatePanel>
而我的cs代码是这样的:
if (string.IsNullOrEmpty(fuAttachements.FileName))
result.AddError("Please give valid file name.");
else
{ //code goes here}
我总是得到空白文件名
还有其他解决方案吗?我无法移除更新面板。
我在 Google 上搜索并检查了很多链接,但到处都给出了相同的解决方案
【问题讨论】:
标签: asp.net file-upload