2012-11-21 23 views
0

我有以下代碼文件上傳動態數據

<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> 

回答

0

這是常見問題。 您正嘗試從更新面板上調用ajax請求調用上載文件。 但是,您需要使用嚴重的FileUpload完全回傳才能將其上傳,或者查找基於JavaScript的文件上傳控件。

+0

但我只是試圖從後面的代碼訪問FileUpload1元素,它不被識別。什麼與Ajax有關? – Kosmog

+0

您可以訪問,但如果它是ajax查詢,您嘗試上傳的數據將不會到達您的服務器。這是一個Ajax請求限制。 –

+0

好的。我現在看到了這個問題。謝謝。我會尋找替代解決方案 – Kosmog