2010-01-12 93 views
0

這是我在我的用戶控件的設計文件中的代碼未在asp.net 3.5中獲取發佈文件。 FileUpload控件

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucImageList.ascx.cs" 
    Inherits="Pariwaar.UserControl.ucImageList" %> 
<asp:ScriptManagerProxy ID="ajaxScriptManagerProxy" runat="server"> 
</asp:ScriptManagerProxy> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always"> 
    <ContentTemplate> 
     <asp:HiddenField ID="hidUserId" runat="server" /> 
     <asp:HiddenField ID="hidAlbumId" runat="server" /> 
     <table> 
      <tr> 
       <td> 
        <asp:FileUpload ID="fvUploadFile" runat="server" EnableViewState="true" /> 
        &nbsp; 
        <asp:LinkButton ID="AddImageInfoButton" CssClass="blueLink" runat="server" Text="Upload" 
         OnClick="AddImageInfoButton_Click"></asp:LinkButton> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:DataList ID="DtLstImageList" runat="server" DataSourceID="odsImageList" OnItemCommand="DtLstImageList_ItemCommand" 
         EnableTheming="true" RepeatColumns="4" RepeatDirection="Horizontal"> 
         <ItemTemplate> 
          <ul> 
           <li style="display: block; text-align: center;"> 
            <asp:ImageButton ID="ImgBtnImagePath" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImagePath")%>' 
             ImageAlign="Middle" Width="100" Height="100" CommandName="ViewImage" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ImageId")%>' /> 
           </li> 
           <li style="display: block;"> 
            <asp:Button ID="UpdateCoverPageImage" runat="server" Text="Set as Cover Page" CssClass="inputButtonWithoutpadding" 
             CommandName="SetAsCoverPage" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ImageId")%>' /> 
           </li> 
          </ul> 
         </ItemTemplate> 
        </asp:DataList> 
       </td> 
      </tr> 
     </table> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:ObjectDataSource ID="odsImageList" runat="server" SelectMethod="GetImageInfo" 
    TypeName="Pariwaar.Controller.GallaryHandler" DeleteMethod="DeleteImageInfo"> 
    <DeleteParameters> 
     <asp:Parameter Name="ImageId" Type="Int64" /> 
    </DeleteParameters> 
    <SelectParameters> 
     <asp:Parameter DefaultValue="0" Name="ImageId" Type="Int64" /> 
     <asp:ControlParameter ControlID="hidAlbumId" Name="AlbumId" PropertyName="Value" 
      Type="Int64" DefaultValue="0" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 

我沒有得到Fiepath /名稱,文件上傳控件的發佈文件屬性爲null 我在AddImageInfoButton

的點擊事件檢查fvFileUpload.Postedfile

有誰能夠告訴我什麼,我在此代碼做錯了... -Thanks提前

回答

2

文件上傳未在異步回發,例如,當您使用的UpdatePanel的支持。請閱讀blog post瞭解更多詳情。

這裏有兩個提議的變通辦法:

  1. 有一個專門的「上傳」按鈕,做一個普通的回發,而不是一個異步回發。您可以使用以下幾種技術實現此目的:讓按鈕位於所有UpdatePanels之外;讓該按鈕成爲UpdatePanel的PostBackTrigger的目標;或者調用ScriptManager.RegisterPostBackControl()。
  2. 有一個沒有任何UpdatePanel的專用文件上傳頁面。無論如何,許多網站已經這樣做。
相關問題