2015-06-08 57 views
1

我知道這個問題很常見,但在我的情況下,我涉及到一個JavaScript,所以這可能是問題。這是我正在做的。我打電話給asp文件上傳允許用戶選擇一個圖像。然後通過調用onchange事件,我發射了一個javascript,從而使隱藏的div變得可見。該div包含一個確認按鈕,然後觸發上傳功能:FileUpload HasFile返回false

<div class="profile-page-owner-profile-pic"> 
     <asp:FileUpload ID="profile_pic_input" onchange="profilenewimageinput(this)" runat="server"></asp:FileUpload> 
</div> 

隱藏事業部:

<div id="profile-change-profile-pic-bg-overlay-div"> 
    <div class="profile-change-profile-pic-bottom-bar"> 
      <asp:Button ID="picApply" class="cropButton" runat="server" OnClick="picApply_Click" Text="Button" /> 
      <span class="profile-page-cancel-crop-button" onclick="hideprofilepicwindow()">Cancel</span> 
     </div> 
</div> 

JS:

function profilenewimageinput() { 

    document.getElementById("profile-change-profile-pic-bg-overlay-div").style.display = "block"; 

    setTimeout(function() { 

     document.getElementById("profile-change-profile-pic-bg-overlay-div").style.opacity = 1; 

    }, 100); 

} 

後面的代碼:

protected void picApply_Click(object sender, EventArgs e) 
{ 
    if (profile_pic_input.HasFile) //always returns false when debugged 
    { 
      //Code 
    } 
} 

爲什麼我的HasFile總是返回False ev當選擇圖像時?

回答

0

嘗試將其置於<asp:UpdatePanel>並使用適當的Trigger設置。以下可能有效,但我不在某個地方測試:

<div class="profile-page-owner-profile-pic"> 
    <asp:UpdatePanel ID="UploadPanel" runat="server"> 
     <Triggers> 
      <asp:PostBackTrigger ControlID="picApply" /> 
     </Triggers> 
     <ContentTemplate> 
      <asp:FileUpload ID="profile_pic_input" onchange="profilenewimageinput(this)" runat="server" /> 
     </ContentTemplate> 
    </UpdatePanel> 
</div>