我使用UpdatePanel来阻止单击按钮时重新加载所有页面。但是当我使用它时,上传文件不起作用并且填充为null。当我删除更新面板时,它运行良好。那么我该如何解决这个问题呢?
<asp:UpdatePanel ID="UPAddPost" runat="server">
<ContentTemplate>
<fieldset style="width: 498px; text-align: right; padding: 5px; direction: rtl;">
<legend>GO</legend>
<div class="add-post">
<textarea class="textarea" name="" cols="3" rows="3" runat="server" id="txpost"></textarea>
<asp:RequiredFieldValidator ID="RVAddPost" runat="server" ForeColor="Red" ErrorMessage="*"
ControlToValidate="txpost" ValidationGroup="AddUserPost">*</asp:RequiredFieldValidator>
</div>
<div class="add-post-control">
<div class="post">
<asp:Button Text="go" runat="server" ID="btAddPost" OnClick="btAddPost_Click" ValidationGroup="AddUserPost" />
</div>
<div class="fileUpload btn btn-primary">
<div class="fileUpload btn btn-primary">
<span>
<img src="res/images/img.png" width="38" height="27" /></span>
<input type="file" runat="server" class="upload" id="FUFile" />
</div>
</div>
</div>
</fieldset>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btAddPost" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
答案 0 :(得分:1)
由于浏览器的限制(see this SO answer),这将永远不会有效。您必须使用AJAXControlToolkit AjaxFileUpload控件,这是为了处理这个问题。您还可以使用uploadify或其他几个实用程序(在Telerik等产品中有此控件)