我正在使用asp.net文件上传
<asp:FileUpload ID="ImageUploader" runat="server"/>
我怎样才能检测到asp:FileUpload有一个使用Jquery的文件?
我这样做
$("#ctl00_MainContentPlaceHolder_UCUpdOrgProfile1_ImageUploader").change(function (e) {
alert("hello")
});
但我不知道是否选择了任何文件。
答案 0 :(得分:2)
检查 -
if (document.getElementById('<%= ImageUploader.ClientID %>').files.length === 0)
{
// File upload do not have file
}
else {
// File upload has file
}
答案 1 :(得分:1)
有效答案,或自ASP 4+以来只将ClientIDMode设置为页面属性:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" ClientIDMode="Static" %>
ClientID值设置为ID属性的值。如果控件是命名容器,则该控件将用作其包含的任何控件的命名容器层次结构的顶部。 - reference
即。这将强制ASP遵守声明的ID,而不是生成“ctl00_”前缀或任何其他。 这很棒,因为它应用于整个页面和包含在其上的所有asp控件,没有额外的代码,没有黑客只是一个很棒的属性。
因此应用与@Microsoft_DN解决方案相同的逻辑,但使用静态ID。