Загрузка изображений на сервер

ASP.NET
  1. 4 года назад
    Добавлено 4 года назад AlexSandr

    Пишу под WebForms.
    Столкнулся с проблемой, что используя ListView и File Upload я не могу загружать картинки с предпросмотром.

    А теперь подробнее: В ListView находится следующая конструкция:

    <EditItemTemplate>
    ...
           <td>
           <asp:Image runat="server" id="NewImg"  src = "<%# Item.Image%>" />
           <input type="button" value="Загрузить" onclick="document.getElementById('UploadF').click();"/> 
           <asp:FileUpload  ID="UploadF"  runat="server" accept="image/jpeg"  style="display:none;" 
                                     onchange ="document.getElementById('UploadOnServ').click();" ClientIDMode="Static"></asp:FileUpload>
           <asp:Button runat="server" ClientIDMode="Static" ID="UploadOnServ" OnClientClick ="Upload_Click" style="display:none;"/>                    
           </td> 
    </EditItemTemplate>

    Её смысл в том что есть кнопка "Загрузить", по её нажатию вызывается FileUpload, по его выбору
    осуществляется загрузка на сервер под временным именем, чтобы отобразить картинку в NewImg.
    Конструкция дико корявая, так что извиняюсь.

    Пока я писал код за пределами ListView проблем не было. А когда я его поместил в секцию EditItemTemplate, то выяснилось что из файла .cs не видно ни одного серверного элемента, помещённого в EditItemTemplate. Все варианты в интернете предлагали избавиться от предпросмотра и не заморачиваться.
    Какие будут советы? Предложения всё снести тоже принимаются, если есть идеи как это сделать граммотнее

  2. В общем проблему решил тем, что сделал предпросмотр с помощью JQuery. Спасибо за "помощь"

или зарегистрируйтесь чтобы ответить