2015-06-08 2 views
1

Я знаю, что эта проблема распространена, однако в моем случае я включаю javascript, так что это может быть проблемой. Вот что я делаю. Я вызываю asp FileUpload, чтобы пользователь мог выбрать изображение. Затем, вызывая событие onchange, я запускаю javascript, который, в свою очередь, делает скрытый div видимым. ДИВ содержит кнопку Confirm, который затем запускает функцию загрузки:FileUpload HasFile возвращает false

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

Hidden 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 ru, когда выбрано изображение?

ответ

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> 
Смежные вопросы