Определить asp: FileUpload имеет файл, используя Jquery?

0

Я использую загрузку файла asp.net

<asp:FileUpload ID="ImageUploader" runat="server"/>

как я могу обнаружить, что asp: FileUpload имеет файл с использованием JQuery?

Я делаю это

$("#ctl00_MainContentPlaceHolder_UCUpdOrgProfile1_ImageUploader").change(function (e) {
alert("hello")
            });

Но я не знаю, какой файл выбран или нет.

  • 0
    Как в поле заселено?

2 ответа

2
Лучший ответ

проверить -

if (document.getElementById('<%= ImageUploader.ClientID %>').files.length === 0) 
{
   // File upload do not have file
}
else {
   // File upload has file
}
  • 0
    Спасибо большое. Работает...!!!
  • 0
    «dericated», он работает как обаяние, но добавляет ненужную проверку издержек, поскольку в ASP4 + есть свойство ClientIDMode, которое можно установить в статическое.
1

Действительные ответы, или поскольку ASP 4+ просто установил ClientIDMode как свойство страницы:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" ClientIDMode="Static" %>

Значение ClientID установлено на значение свойства ID. Если элемент управления является именованным контейнером, элемент управления используется как вершина иерархии контейнеров именования для любых элементов управления, которые он содержит. - Справка

то есть. это заставит ASP подчиняться идентификатору, объявленному и не генерирующему префикс "ctl00_" или любой другой. Это потрясающе, так как оно применяется ко всей странице и всем элементам управления asp, содержащимся на нем, без дополнительного кода, а не к хакам только одного удивительного свойства.

Поэтому примените ту же логику, что и решение @Microsoft_DN, но используйте статические идентификаторы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню