26 messaggi dal 26 settembre 2003
salve ancora,
scusatese ancora facio solo domande e non do' risposte..:)

il problema mi sembrava abbastanza semplice in pratica devo popolare una dropdownlist con i nomi dei file che ho uppato in una cartella.
allora cerco di riempire un array coi nomi dei file e poi li passo
con asp:DropDownList datasource="<%# array %> ma il dopdown si popola delle lettere di cui e' composto il solo nome del primo file.
cioe' la lista e' composta per esempio dai seguenti item:
m
y
p
i
c
.
j
p
g

cioe' solo il primo file delle dir.

dove sbaglio?

grazie per le eventuali risposte.
se non sono stato chiaro fatemelo sapere.

Amidala
2.198 messaggi dal 30 novembre 2001
se posti un pò di codice vediamo dove sbagli.
26 messaggi dal 26 settembre 2003
<html>
<head>
<title>Dropdownlist</title>
<%@ Page Language="VB" Debug="true" %>
<% @Import Namespace="System.Data" %>
<% @Import Namespace="System.IO" %>
<script language="VB" runat="server" >

dim myarray(2) as string

Sub Page_Load(sender as Object, e as EventArgs)

dim dir as new DirectoryInfo("C:\Inetpub\wwwroot\MarchetinghsWork\foto")
dim f as FileInfo
dim i as integer
dim max as integer


max=0
for each f in dir.getfiles("*.*")
max = max + 1
lblmessage2.text = max
next


redim myarray(max)
i=0

for each f in dir.getfiles("*.*")
myarray(i) = f.name
lblmessage.text += myarray(i) & "<br>"
i = i +1
next

end sub
</script>

<body>

<asp:label id="lblmessage" runat="server"/>

<asp:label id="lblmessage2" runat="server"/>

<form runat="server">
<asp:listbox id="box1" datasource="<%# myarray %>" runat="server" />
</form>

</body>
</html>

so' che datasource funziona solo con una chiamata a databind()
ma se lo faccio ricevo un errore .
anche se con il label visualizzo perfettamente sia la dimensione dell'array sia le stringhe coi nomi dei file.

quindi non si popola perche' non ce il databind credo ma il databind mi da un errore.
che e' il seguente:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 32: i = i +1
Line 33: next
Line 34: databind()
Line 35:
Line 36: end sub


Source File: C:\Inetpub\wwwroot\AspNet\getfile.aspx Line: 34

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +618
System.Web.UI.Control.DataBind() +26
System.Web.UI.Control.DataBind() +86
System.Web.UI.Control.DataBind() +86
ASP.getfile_aspx.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\AspNet\getfile.aspx:34
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731


questo se inserisco nel codice alla linea 34 la chiamata a databind() o page.databind() o anche box1.databind()


Amidala
26 messaggi dal 26 settembre 2003
ecco postato il codice:)

Amidala
26 messaggi dal 26 settembre 2003
ho tolto il <br> ma non si popola
il listbox
manca una chiamata al databind() ma se la metto in qualsiasi parte del codice mi da un errore.
aiuto per favore!

Amidala
26 messaggi dal 26 settembre 2003
scusami poi il BR non centra niente.
il rpoblema sta nel listbox
i label sono solo per visualizzare le variabili.


Amidala
2.198 messaggi dal 30 novembre 2001
scrvi così:
for each f in dir.getfiles("*.*")
box1.Items.Add(New ListItem(FileList, "1"))
Next
e poi :
<asp:listbox id="box1" runat="server" />
e vedrai che funziona.

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.