Ошибка при добавлении проверки в 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;