26 messaggi dal 26 settembre 2003
allora credo che il problema sia nella funzione che popola il Drop.
sub associafoto (sender as object, e as eventArgs)
dim dir as new DirectoryInfo("C:\Inetpub\wwwroot\MarchetinghsWork\foto")
dim f as FileInfo

dim myarray() as string = { }
box1.datasource = myarray
box1.databind()
for each f in dir.getfiles("*.*")
box1.Items.Add(New ListItem(f.name, "1"))

Next

end sub

ti ho mandato una mail con tutto il paginone.

ho fato varie prove ma nisba.
se hai ancora pazienza dacci pure un occhio.
in ogni caso se invece del mio DropDown popolato con get.files uso un DropDown fatto a mano con gli item mi funziona tutto. quindi credo che l'errore sia in questa funzione.




Amidala
26 messaggi dal 26 settembre 2003
scusami ancora.
ho riassunto il mio problema in questo semplice aspx.

<%@ Page Language="VB" %>
<%@Import NameSpace="System.Data" %>
<%@Import Namespace="System.IO" %>

<script runat="server">
dim indiceselezionato as integer
sub popola (sender as object, e as eventArgs)
dim dir as new DirectoryInfo("C:\Inetpub\wwwroot\MarchetinghsWork\foto")
dim f as FileInfo

dim myarray() as string = { }
if Box1.selectedindex > -1 Then
IndiceSelezionato = box1.selectedindex
Else
IndiceSelezionato = 0
box1.datasource = myarray
box1.databind()
for each f in dir.getfiles("*.*")
box1.Items.Add(New ListItem(f.name, "1"))

Next
End If



end sub

sub associa (obj as object, e as eventargs)
dim nomefoto as string
Nomefoto = box1.Items(IndiceSelezionato).text
lblmessage.text = nomefoto
end sub


</script>

<html><boby>



<form runat="server">

<asp:dropDownList id="box1" runat="server" >

</asp:DropDownList>

<asp:label id="lblMessage" font-size="10pt" runat=server />
<asp:button id="buttone" text="popola" onclick="popola" runat="server" />
<asp:button id="buttone2" text="associa" onclick="associa" runat="server" />
</form>

</body></html>

il pulsante popola, popola il dropdownlist.
e il pulsante associa dovrebbe associare il selected item alla label lblmessage.
invece come vedrai la label rimane sempre impostata sul nome del primo file della cartella.
anche con il tuo controllo if e con il salvataggio dell'indiceselezionato.

Amidala
2.198 messaggi dal 30 novembre 2001
come ti avevo già detto il salvataggio dell'indice selezionato va fatto nel page_load, hai seguito quello che ti risposto nella mail? così come hai scritto tu è normale che rimane sul primo dal momento che in quella sub entra solo una volta, la prima quando popola il ddl.
26 messaggi dal 26 settembre 2003
certo che ho letto la mail.
e ti ringrazio per il tempo che ti faccio perdere.

con le tue modifiche ecco cosa viene:

<%@ Page Language="VB" %>
<%@Import NameSpace="System.Data" %>
<%@Import Namespace="System.IO" %>

<script runat="server">

dim indiceselezionato as integer
sub Page_Load(obj as Object, e as Eventargs)
if Box1.selectedindex > -1 Then
IndiceSelezionato = box1.selectedindex
lblmessage2.text = indiceselezionato
Else
IndiceSelezionato = 0
lblmessage2.text = indiceselezionato
End If
dim dir as new DirectoryInfo("C:\Inetpub\wwwroot\MarchetinghsWork\foto")
dim f as FileInfo

dim myarray() as string = { }
box1.datasource = myarray
box1.databind()
for each f in dir.getfiles("*.*")
box1.Items.Add(New ListItem(f.name, "1"))

Next

End Sub

sub associa (obj as object, e as eventargs)
dim nomefoto as string
Nomefoto = box1.Items(IndiceSelezionato).text
lblmessage.text = nomefoto
end sub


</script>

<html><boby>



<form runat="server">

<asp:dropDownList id="box1" runat="server" >

</asp:DropDownList>

<asp:label id="lblMessage" font-size="10pt" runat=server />
<asp:label id="lblMessage2" font-size="10pt" runat=server />

<asp:button id="buttone2" text="associa" onclick="associa" runat="server" />
</form>

</body></html>

ma come sempre la label rimane quella del primo item, non ce niente da fare. anche con page_load.
ho fatto come hai detto tu , tolto il pulsante popola e messo su page_load con il controllo sull'index ma e' come se venisse ignorato.
ho messo un altra label per l'indice ma anche quella mi da sempre 0 (cioe' il primo file).

Aiut:)

Amidala
26 messaggi dal 26 settembre 2003
buongiorno:)
allora come posso ovviare a questo problema?
magari quello che voglio fare si fa in altri modi.
spero tanto di si.

Amidala
2.198 messaggi dal 30 novembre 2001
quello che ti avevo scritto, lo avevo trasformato da una pagina scritta in c# che funziona correttamente come ti avevo detto. Poi ho provato a fare la stessa cosa anhe con una pagina in vb.net e non mi funziona neanche a me, non so se questo ti può sollevare!!!! ma la cosa più strana è che facendo il debug non passa dalla funzione:
DropDownList1_SelectedIndexChanged nonostante faccia il postback!!
adesso indago un pò e poi ti faccio sapere.

Ciao
4 messaggi dal 14 ottobre 2003
ciao
il problema sta in box1.Items.Add(New ListItem(f.name, "1"))
cambialo con
box1.Items.Add(New ListItem(f.name))
e vedrai che funziona
Ciao

p.s. il problema è che settava sempre il value a 1

Modificato da clancy.vi il 14 ottobre 2003 14.42 -
2.198 messaggi dal 30 novembre 2001
non funziona lo stesso, neanche mettendo un valore diverso ad ogni item.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.