动态数据的文件上传

时间:2012-11-21 10:29:12

标签: asp.net file-upload updatepanel

我有以下代码

<asp:Content ID="headContent" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true">
    <DataControls>
        <asp:DataControlReference ControlID="FormView1" />
    </DataControls>
</asp:DynamicDataManager>
<h2 class="DDSubHeader">
    Edit entry from table
    <%= table.DisplayName %></h2>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
            HeaderText="List of validation errors" CssClass="DDValidator" />
        <asp:DynamicValidator runat="server" ID="DetailsViewValidator" ControlToValidate="FormView1"
            Display="None" CssClass="DDValidator" />
        <asp:FormView runat="server" ID="FormView1" DataSourceID="DetailsDataSource" DefaultMode="Edit"
            OnItemCommand="FormView1_ItemCommand" OnItemUpdated="FormView1_ItemUpdated" RenderOuterTable="false"
            OnPageIndexChanging="FormView1_PageIndexChanging">
            <EditItemTemplate>
                <table id="detailsTable" class="DDDetailsTable" cellpadding="6">
                    <asp:DynamicEntity runat="server" Mode="Edit" />
                    <tr class="td">
                        <td colspan="2">
                            <asp:LinkButton runat="server" CommandName="Update" Text="Update" />
                            <asp:LinkButton runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />
                            <br />
                        </td>
                        <td>





                            <asp:FileUpload ID="FileUpload1" runat="server" />
                            <asp:Label ID="lblMessage" runat="server">
                            </asp:Label>
                            <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" />







                        </td>
                    </tr>
                </table>
            </EditItemTemplate>
            <EmptyDataTemplate>
                <div class="DDNoItem">
                    No such item.</div>
            </EmptyDataTemplate>
        </asp:FormView>
        <asp:LinqDataSource ID="DetailsDataSource" runat="server" EnableUpdate="true" />
        <asp:QueryExtender TargetControlID="DetailsDataSource" ID="DetailsQueryExtender"
            runat="server">
            <asp:DynamicRouteExpression />
        </asp:QueryExtender>
    </ContentTemplate>
</asp:UpdatePanel>

此文件是使用动态数据生成的。我试图在表单中添加文件上传控件但在后面的代码中我无法访问'FileUpload1'以查看它是否包含元素。 我怎么能这样做?

如果我制作一个新的表单,它可以工作,但我无法以我现有的形式工作。

  <form id="form1" runat="server"></form> 

1 个答案:

答案 0 :(得分:0)

这是常见问题。 您正尝试在更新面板上调用上传的ajax请求上传文件。 但是你需要完整的回发来使用严重的FileUpload上传它或者寻找基于javascript的文件上传控件。