webForumDet fria alternativet

FileUpload med Ajax

.NET

2 svar · 390 visningar · startad av cok

Medlem sedan dec. 2005664 inlägg
Frågan#1

Jag har en Updatepanel på en sida som innehåller divers kontroller, i denna updatepanel så har jag en trigger som hänvisar till en knapp utanför updatepaneln. När man trycker på knappen ska en fil laddas upp och lite annat hända. Men när jag kör koden så har min fileupload.hasfile alltid false. Tar jag bort triggern så fungerar uppladdningen korrekt.

Kan någon förklara varför det inte fungera som jag vill?

lite kod:

...
<asp:FileUpload ID="FileUpload2" runat="server" /></td>
<asp:Button ID="btnAddAlbum" runat="server" Text="Add" OnClick="btnAddAlbum_Click" /></div>
...
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:DataList ID="DataList1" 
                    runat="server" 
                    BorderColor="Black" 
                    BorderWidth="1px" 
                    GridLines="Both" 
                    RepeatColumns="2" Height="109px">
        <ItemTemplate>
            <img src="<%# Eval("LinkPath") %>" alt="Link" style="border:1px solid gray; width:20; height:20;" />
        </ItemTemplate>
        
        </asp:DataList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnAddAlbum" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
Medlem sedan dec. 19996 721 inlägg
#2

En filuppladdning kan inte göras med en asynkron postback (en viktig säkerhetsdetalj). Med andra ord är FileUpload inte förenligt med partial updates.

Om du vill att det ska ut som en partial update så får du lägga filuppladdningen i en iframe.

Medlem sedan dec. 2005664 inlägg
#3

Tackar för svaret!

252 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)