如何使用Ajax更新面板?

时间:2014-01-04 21:11:58

标签: jquery asp.net ajax

我使用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>

1 个答案:

答案 0 :(得分:1)

由于浏览器的限制(see this SO answer),这将永远不会有效。您必须使用AJAXControlToolkit AjaxFileUpload控件,这是为了处理这个问题。您还可以使用uploadify或其他几个实用程序(在Telerik等产品中有此控件)