Ako môžem zmeniť Súbor Informácií v Ajax Súbor Nahrať Kontroly ,Asp.net(VB)?

0

Otázka

Ja som vytváranie presuňte súbor nahrať pomocou Ajax Súbor Nahrať Kontroly v Asp.net(VB). Chcem ukázať, názov súboru, nahrané datetime, veľkosť súboru, keď som vtiahnutý do panelu. Ako to mám urobiť pre to, že nastavenie? Mohol by som zmeniť text droparea ako

$(document).ready(function () {

            
            Sys.Extended.UI.Resources.AjaxFileUpload_Pending = "保留中";
            Sys.Extended.UI.Resources.AjaxFileUpload_Remove = "削除";
            Sys.Extended.UI.Resources.AjaxFileUpload_Uploaded = "アップロード済";
            Sys.Extended.UI.Resources.AjaxFileUpload_Uploading = "アップロード中";
            Sys.Extended.UI.Resources.AjaxFileUpload_UploadedPercentage = "アップロード中 {0} %";
            Sys.Extended.UI.Resources.AjaxFileUpload_Upload = "アップロード";

            document.getElementsByClassName
            $(".ajax__fileupload_dropzone").text("ここにファイルをドロップ");

            document.getElementsByClassName
            $(".ajax__fileupload_uploadbutton").text("アップロード");
            
        });

Ale neviem, ako zmeniť súbor info.

Toto je môj presuňte formulár a chcem zmeniť z application/pdf na uploaded datetime

enter image description here

ajax asp.net vb.net webforms
2021-11-24 05:46:37
1

Najlepšiu odpoveď

0

Nemôžete naozaj zobrazenie "čas" hore-load, kým používateľ spustí.

Môžete UŽ vidieť súbor veľkosť obrazovky spp, tak prečo potrebovať?

máte:

enter image description here

takže vo vyššie sa zobrazí názov súboru, môžete vidieť, že veľkosť súboru.

Avšak, až do času, keď hit do-načítanie a spustenie-načítanie súborov, neviete ešte hore-zaťaženie čas, ako doteraz, páči sa vám?

Takže, keď ste hit do-načítať súbory, potom každý súbor budú up-naložené a na strane servera (kód pozadu), máte to:

Protected Sub AjaxFileUpload1_UploadComplete(sender As Object, e As AjaxControlToolkit.AjaxFileUploadEventArgs) Handles AjaxFileUpload1.UploadComplete

    Dim strFileSave As String
    strFileSave = Server.MapPath("~/Content/" & e.FileName)
    AjaxFileUpload1.SaveAs(strFileSave)

    ' now code to add say to a database table of files up-loaded.

    Using conn As New SqlConnection(My.Settings.TEST4)
        Dim strSQL = "INSERT IGNORE INTO MyUpoadFiles (FileName, UpLoadTime, Size, User_id) " &
                     "VALUES (@File, @Time,@Size, @User)"

        Using cmdSQL As New SqlCommand(strSQL, conn)
            conn.Open()
            With cmdSQL.Parameters
                .Add("@File", SqlDbType.NVarChar).Value = e.FileName
                .Add("@Time", SqlDbType.DateTime).Value = Date.Now
                .Add("@Size", SqlDbType.Int).Value = e.FileSize
                .Add("@User", SqlDbType.Int).Value = Membership.GetUser.ProviderUserKey
            End With
            cmdSQL.ExecuteNonQuery()
        End Using
    End Using


End Sub

Teraz, keď sa VŠETKY súbory sú vložené, potom na strane servera aj UpLoadComplete všetko bude oheň, a POTOM si môžete zobrať vyššie uvedený zoznam/tabuľka a zobraziť súbory up-naložené spolu s menom Súboru, veľkosť a čas.

Ale, naozaj nemusíte možnosť, ak chcete zobraziť informácie o súbore, ako napríklad čas, až do času, si nahral súbor a potom mať čas, právo?

Úprava:

Možno myšlienka nad nebolo všetko to jasné. To, čo navrhujem, je, že máte hore-loader na stránke.

Takže povedať, že sme kvapka v tomto príklade:

        <div style="width:40%;padding:25px">
        <ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" 
            OnClientUploadCompleteAll="MyCompleteAll"  ChunkSize="16384" />

            <asp:Button ID="cmdDone" runat="server" Text="Done" CssClass="btn" ClientIDMode="Static"/>
            <script>
                function MyCompleteAll() {
                    $('#cmdDone').click()
                  }
            </script>
            <asp:GridView ID="Gfiles" runat="server" CssClass="table"></asp:GridView>
        </div>

A všimnite si, ako sme sa použiť na klientskej strane všetci hotoví, kliknite na tlačidlo.

Tak, teraz máme toto:

enter image description here

Sme narazili nahrať, a teraz sme sa zobrazí toto:

enter image description here

Teraz by sme mali (musieť) skryť tlačidlo Hotovo - máme nahrať kliknutím na ktorý vykonáva tlačidlo pre nás.

Tak, že tlačidlo teoreticky by sa malo stať to, aby ho skryť:

 <asp:Button ID="cmdDone" runat="server" Text="Done"
   style="display:none" ClientIDMode="Static"/>

A kód pre tlačidlo je toto:

Protected Sub cmdDone_Click(sender As Object, e As EventArgs) Handles cmdDone.Click

    Dim rstFiles As New DataTable
    Using conn As New SqlConnection(My.Settings.TEST4)
        Dim strSQL As String = "select FileName, UpLoadTime, Size, User_id from MyUpLoadFiles"
        Using cmdSQL As New SqlCommand(strSQL, conn)
            conn.Open()
            rstFiles.Load(cmdSQL.ExecuteReader)
        End Using
    End Using

    Gfiles.DataSource = rstFiles
    Gfiles.DataBind()

    ' hide up-loader
    AjaxFileUpload1.Visible = False
End Sub
2021-11-26 04:01:16

Albert, Ďakujem za odpoveď. Stále nemôžem pracovať tejto časti, lebo musím urobiť iné projektu, ale budem sa snažiť odpovedať hneď, ako som si. Vaša odpoveď naozaj poukázal na môj projekt. Thx vás tak veľa. Nazývaš veľa.
Chang

Ahoj, snažil som sa pomocou kódu a keď som narazila odovzdať tlačidlo , údaje môžete vložiť v tabuľke . Potom som urobil vyberte príkaz a nastaviť v datatable, ale môj gridview nemôže zobraziť úplne a nezakrýval ajaxfileupload oblasti. Som ladenie a moje gridview mal údajov z mojej db tabuľky.
Chang

No, ako sme hore-načítať súbory, tieto sa pridajú do tabuľky. ale keď VŠETKY súbory (alebo možno práve vybraný jeden súbor) sú vložené, potom máme, že "hotovo" tlačidlo. Ja samozrejme nechcem, aby museli používatelia kliknite na tlačidlo hotovo, tak všimnite si, ako sme káblové hore "zostaviť všetky akcie" na STRANE KLIENTA s niektorými JavaScript, aby kliknite na tlačidlo pre nás. Myslím, že pre testovanie, len nech súbor (alebo súbory) do záťaže. A potom kliknite na jedno tlačidlo, ktoré prevádzkuje kód pozadu až teraz sa hodnoty z údajov základ stôl a zobrazenie v mriežke. Ako poznamenal, budeme musieť pridať user_id na danej tabuľke.
Albert D. Kallal

Tak som nechcel, aby museli používatelia kliknite na tlačidlo, keď urobil - čo je malé množstvo JavaScript robí - som predstavte si, že ste sa jQuery k dispozícii na tejto stránke (nemajú všetci????). A raz si verfied, že to funguje, potom sme sa skryť, že "hotovo" tlačidlo. Ale, ak nechcete, drôt, že js kódu, kliknite na tlačidlo (od MUSÍME MAŤ plné post-back nastať!!! - POTREBUJETE že post späť. Nemôžeš dať siete zobrazenie kódu na strane servera ajax súbor up-zaťaženie udalosť - MUSÍTE kliknúť na tlačidlo pre post-back. Takže postupujte podľa vyššie uvedených markup s js kódu, kliknite na tlačidlo.
Albert D. Kallal

Poznámka: v uvedených vyššie, ako kód dispay sieť je v commadn urobiť tlačidlo. Tak aby bolo jasné, nemôžeme dať grid display kód v každom z ajax súbor maximálne zaťaženie kontrolu udalosti. Potrebujeme, aby samostatné tlačidlo. Pre testovanie, len kvapka rovine jane tlačidlo na webovej stránke. Po up-zaťaženie je hotovo, potom kliknite na tlačidlo spustiť zobrazenie siete kód. Akonáhle si, že práca, potom pridajte nad js kódu automaticky, kliknite na toto tlačidlo. A potom pridať štýl "display:none" skryť sa, že tlačidlo od užívateľa.
Albert D. Kallal

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................