icaaqMedlem sedan okt. 20005 273 inlägg Jag vill loopa ut alla bilder i en katalog, och tänkte då att jag skulle använda mig av DirectoryInfo.GetFiles()
Men jag vet inte riktigt hur jag ska få ur värdet ur den arrrayen och binda den till min Repeater.
Kan nån hjälpa mig med det eller om nån har nån länk så vore det tacksamt
mvh icaaq
cyprysMedlem sedan dec. 20003 563 inlägg Du kan få en kodsnutt så som jag gjort på ett ställe.
Jag bygger på ett dataset dynamiskt.
Sub fillfiles()
Dim ds As New DataSet("textfiles")
Dim dtable As New DataTable("files")
dtable.Columns.Add("Filnamn")
dtable.Columns.Add("Redigera")
ds.Tables.Add(dtable)
Dim dir As New DirectoryInfo(Server.MapPath("textfiler\"))
Dim file As FileInfo
For Each file In dir.GetFiles("*.*")
Dim dr As DataRow = dtable.NewRow()
dr(0) = file.Name
dr(1) = "Redigera"
dtable.Rows.Add(dr)
Next
dg_files.DataSource = ds.Tables("files")
dg_files.DataBind()
' dg_files är en datagrid
End Sub
Skulle lika gärna kunna vara en datatable iofs. :stud
PatrikBMedlem sedan mars 20002 836 inlägg lite smidigare tycker då jag är att binda dir.GetFiles direkt mot repeatern, datagrid eller Datalist etc.
Det är ju en collection av FileInfo object som returneras och kan därför användas som datasource direkt:
<%@ Page Language="VB" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
Public Sub Page_Load(Sender As Object, E As EventArgs)
Dim _dir As New DirectoryInfo(HttpContext.Current.Server.MapPath("/"))
rptFiles.Datasource = _dir.GetFiles("*.*")
rptFiles.DataBind()
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Repeater id="rptFiles" runat="server">
<ItemTemplate>
<%# CType(Container.DataItem,FileInfo).Name %><br>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
cya,
PatrikB
icaaqMedlem sedan okt. 20005 273 inlägg ok, det löste sig med loopningen tror jag ;)
Men hur gör jag med mina radiobuttons :q
Jag loppar ut radiobuttons i min repeater också, så här:
[red]
<asp:repeater id='picrepeater' runat=server>
<itemtemplate>
<input type='radio' id='pic' value='<%# Container.DataItem %>'>
<img src="/strandportalen/admin/vd/<%# Container.DataItem %>">
</itemtemplate>
<separatortemplate>
<hr size='1'>
</separatortemplate>
<footertemplate>
<hr size='1'>
</footertemplate>
</asp:repeater>
[/red]
men hur får jag ska jag göra föra att få tag i värdet på den radiobutton som blir "pushed"??
mvh icaaq
icaaqMedlem sedan okt. 20005 273 inlägg Eller om jag säger så här, hur ska jag göra för att man ska kunna bestämma att den här bilden ska jag göra nått med...när jag har kört ut alla bilder med en Repeater??
mvh icaaq
PatrikBMedlem sedan mars 20002 836 inlägg om du lägger på ett id på radio-buttonen och runat=server så hanteras den som en egen kontroll (HTML Control) och du kan fånga upp värdet från den radio-buttonen som du klickar på med tex OnClick eventet:
<input type="radio" id="<%# CType(Container.DataItem, FileInfo).Name %>" value="<%# CType(Container.DataItem, FileInfo).Name %>" runat="server" OnClick="DoOn_Click">
nu får du id=value ... borde vara unikt
i DoOn_Click eventet så får du fram vilken radio-button som har clickats på detta vis:
Public Sub DoOn_Click(Sender as Object........)
'## -- vilket id som klickats --
radBTN = Sender.ID
.
.
.
cya,
PatrikB
icaaqMedlem sedan okt. 20005 273 inlägg Om jag kör onclick får jag bara Javascripts fel :(
Vad har jag gjort för fel?
[red]
<input type='radio' id='pic' value='<%# Container.DataItem %>' onclick="DoOnClick" runat=server>
[/red]
mvh icaaq