2010-01-12 5 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> 

속성은 내가 AddImageInfoButton

의 클릭 이벤트에 fvFileUpload.Postedfile을 확인하고 null의 파일을 게시 '내가 Fiepath/이름을받지 오전 파일 업로드 컨트롤

은 아무도

답변

2

파일 업로드는 당신이 UpdatePanel을 사용할 때와 같은 비동기 포스트 백에서 지원되지 않습니다 사전에 ... 내가이 코드에서 잘못하고있는 무슨 고마워요을 말씀 해주십시오 수 있습니다. 자세한 내용은 blog post을 읽으십시오.

  1. 전용 정규 포스트 백 대신 비동기 포스트 백을 수행 버튼을 "업로드"유무 :

    다음은이 제안 된 해결 방법입니다. 몇 가지 기술을 사용하여이 작업을 수행 할 수 있습니다. 버튼을 모든 UpdatePanels 외부에 두십시오. 버튼을 UpdatePanel의 PostBackTrigger의 대상으로 설정하십시오. ScriptManager.RegisterPostBackControl()을 호출하십시오.
  2. UpdatePanels이없는 전용 파일 업로드 페이지가 있습니다. 이미 많은 웹 사이트에서이 작업을 수행하고 있습니다.
관련 문제