Я использую загрузку файла asp.net
<asp:FileUpload ID="ImageUploader" runat="server"/>
как я могу обнаружить, что asp: FileUpload имеет файл с использованием JQuery?
Я делаю это
$("#ctl00_MainContentPlaceHolder_UCUpdOrgProfile1_ImageUploader").change(function (e) {
alert("hello")
});
Но я не знаю, какой файл выбран или нет.
проверить -
if (document.getElementById('<%= ImageUploader.ClientID %>').files.length === 0)
{
// File upload do not have file
}
else {
// File upload has file
}
Действительные ответы, или поскольку ASP 4+ просто установил ClientIDMode как свойство страницы:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" ClientIDMode="Static" %>
Значение ClientID установлено на значение свойства ID. Если элемент управления является именованным контейнером, элемент управления используется как вершина иерархии контейнеров именования для любых элементов управления, которые он содержит. - Справка
то есть. это заставит ASP подчиняться идентификатору, объявленному и не генерирующему префикс "ctl00_" или любой другой. Это потрясающе, так как оно применяется ко всей странице и всем элементам управления asp, содержащимся на нем, без дополнительного кода, а не к хакам только одного удивительного свойства.
Поэтому примените ту же логику, что и решение @Microsoft_DN, но используйте статические идентификаторы.