2012-07-17 5 views
1

ASP.NET 파일 업로드 컨트롤을 사용할 때 문제가 발생했습니다. 무슨 일이 일어나고있는 건 내가 파일 업로드 컨트롤을 코드에서 호출 할 때 항상 FileUploadControl.HasFile = false가된다는 것입니다. 나는 약간 연구를 수행하고 아무 소용이없는 다른 방법을 시도했다. 컨트롤은 다음 시나리오에서 사용됩니다. 컨트롤은 JQuery를 통해 팝업 대화 상자로 호출 될 div에 포함되어 있습니다. 파일 업로드 컨트롤과 함께 언급 된 컨트롤 (파일에서 XML 가져 오기 및 조작)을 작동시키는 두 개의 링크 버튼이 있습니다.ASP.NET 업로드 파일 제어 문제

감사합니다.

다음은 내 코드 샘플입니다.

<asp:scriptmanager id="ScriptManager1" runat="server"> 
    </asp:scriptmanager> 
<div style="text-align: center; margin-left: auto; margin-right: auto"> 
    <asp:fileupload id="FileUploadControl" runat="server" /> 
    <asp:updatepanel runat="server"> 
       <ContentTemplate>      
        &nbsp; 
        <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton> 
        &nbsp; 
        <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton> 
       </ContentTemplate> 
       <Triggers> 
        <asp:PostBackTrigger ControlID="Append" /> 
        <asp:PostBackTrigger ControlID="Overwrite" /> 
       </Triggers> 
      </asp:updatepanel> 
</div> 
+1

AJAX 스크립트 관리자를 사용하여 Afaik 파일 업로드를 스크립팅 할 수 없습니다. 당신은 다른 해결책을 찾아야 할 것입니다. 것은 요즘 파일의 자바 스크립트 업로드가 작동하지만 현재 ASP.NET 스크립트 관리자에는 포함되어 있지 않습니다. 전체 포스트 백을 수행해야합니다. 즉, 페이지가 완전히 다시로드됩니다. – sinni800

+0

'UpdatePanel'내의 버튼을 클릭하면 파일이 업로드 될 것으로 예상됩니까? – freefaller

+0

freefaller,이 코드는 내가 뒤에서 쓴 코드입니다. _if (FileUploadControl.HasFile) { 시도 { 하여 XDocument 문헌 = XDocument.Load (FileUploadControl.FileContent); // 코드 } } _ – DottoreM

답변

1

UpdatePanel을 제거해야합니다. 당신은 부분 포스트 백에 파일을 업로드 할 수 있으며,이 UpdatePanel에있는 모든 트리거 경우 파일은 필요하지 않을 것 업로드 :

<div style="text-align: center; margin-left: auto; margin-right: auto"> 
    <asp:fileupload id="FileUploadControl" runat="server" /> 
     &nbsp; 
     <asp:LinkButton ID="Append" runat="server" Text="Append" OnClick="Append_Click"></asp:LinkButton> 
     &nbsp; 
     <asp:LinkButton ID="Overwrite" runat="server" Text="Overwrite" OnClick="Overwrite_Click"></asp:LinkButton> 
</div> 

참고 : 일반 팁을 UpdatePanel 개발. 이해가되지 않는 이상한 점이 있다면 UpdatePanel을 제거하고 코드를 테스트하십시오. UpdatePanel에는 페이지/컨트롤 복잡성에 따라 많은 제한이 있습니다.

+0

방금 ​​전에 게시 한 정확한 코드를 사용해 보았습니다. 여전히 작동하지 않습니다. 또한 행운을 피하기 위해 page_load에 다음 코드 행을 삽입했습니다. Page.Form.Attributes.Add ("enctype", "multipart/form-data"); ' – DottoreM

+0

고마워, 위의 내 문제에 대한 해결책을했다. 내가 제대로 작동하지 못하고 컨트롤을 방해하는 코드가 있었기 때문에 내가 제대로 작동하지 못하는 이유가있었습니다. (JQuery 대화 상자). 내가 그것을 고정하자마자 그것은 매력처럼 움직였다. – DottoreM