dattaprasaddhuri Ответов: 1

Ошибка при добавлении проверки в ajax async file upload control in asp.net-да.


Всякий раз, когда текстовое поле пусто в
OnClientUploadStarted
метод он не должен позволять добавлять файл, и он должен отображать сообщение.

Я попробовал следующий код, но он не работает.
Пожалуйста, помогите.
Заранее спасибо

Что я уже пробовал:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="usercpntrol.ascx.cs" Inherits="usercpntrol" %>
<script type="text/javascript">
      function uploadStarted(sender,args) {
            var data;
            data = document.getElementById("ucattachfile_TextBox1").innerHTML;

            if (data == "") {
                document.getElementById("Label1").innerHTML = "text value req";
                return;
            }
            else {
                 document.getElementById("Label1").innerHTML = "uploadStarted";
            }
          
        }
        function test() {

        }
        function test2() {

        }
</script>
<div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
       <ContentTemplate>
           <asp:Panel ID="Panel1" runat="server">
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
          <ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1"  OnClientUploadComplete="test" OnClientUploadError="test2" 
                OnClientUploadStarted="uploadStarted" runat="server" />
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
           </asp:Panel>
       </ContentTemplate>
    </asp:UpdatePanel>
 </div>

Christian Graus

Честно говоря, я не понимаю, почему люди используют ASP.NET в 2019 году, но ASP.NET без jquery?

F-ES Sitecore

Возможно, вам лучше решить эту проблему другим способом, а именно отключить загрузку файлов и включить ее только тогда, когда вы обновили текстовые поля, чтобы они имели значения. Глядя на документацию, не похоже, что asynchfileupload предоставляет желаемые события, которые позволяют ему делать то, что вы хотите. Вы могли бы попытаться прикрепить событие onchange к загрузке файла и использовать его. Кроме того, вам не нужна панель обновления, что тоже может все усложнить.

Другим решением было бы просто использовать плагин asynch upload jquery, который почти наверняка будет поддерживать тот вид проверки, который вы хотите сделать.

Richard Deeming

NB: Один TextBox будет отображаться как <input> элемент. Входной элемент не имеет innerHTML собственность. Вам нужно посмотреть на value вместо этого собственность.

data = document.getElementById("ucattachfile_TextBox1").value;

1 Ответов

Рейтинг:
1

Christian Graus

Научитесь использовать отладчик Chrome. Отладьте свою функцию. Введите что-нибудь в поле и убедитесь, что оно появилось. Вы также можете использовать оповещение для этого.

Как только вы знаете, что получаете значение, и что это такое, вы можете исправить свой код.

Все это довольно старая школа, вы действительно не должны писать веб-сайты в ASP.NET в 2019 году