iver56 Skrevet 27. mars 2008 Skrevet 27. mars 2008 (endret) Dette er en kode som viser filene i en mappe. Men jeg vil at datagrid'en ikke skal vise "default.aspx", så jeg har satt opp en event for articleList_ItemDataBound som sjekker om teksten i celle 0 er "default.aspx". Men det ser ikke ut til å fungere.. Kan noen hjelpe meg med å få dette til å fungere? Dette er koden jeg har problemer med: <%@ Import Namespace="System.IO" %> <script language="VB" runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Dim dirInfo As New DirectoryInfo(Server.MapPath("")) articleList.DataSource = dirInfo.GetFiles("*.*") articleList.DataBind() End Sub Private Sub articleList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) If e.Item.Cells(0).Text = "default.aspx" Then 'hva gjør jeg feil her? e.Item.Visible = False End If End Sub </script> <asp:DataGrid OnItemDataBound="articleList_ItemDataBound" runat="server" id="articleList" Font-Name="Verdana" AutoGenerateColumns="False" AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="Navy" HeaderStyle-ForeColor="White" HeaderStyle-Font-Size="15pt" HeaderStyle-Font-Bold="True"> <Columns> <asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name" HeaderText="File Name" Text="Name" /> <asp:BoundColumn DataField="LastWriteTime" HeaderText="Last Write Time" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" /> <asp:BoundColumn DataField="Length" HeaderText="File Size" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,### bytes}" /> </Columns> </asp:DataGrid> Endret 27. mars 2008 av Iver_j
Manfred Skrevet 27. mars 2008 Skrevet 27. mars 2008 Er ikke dette veldig gamlemåten å skrive asp-script på?
iver56 Skrevet 27. mars 2008 Forfatter Skrevet 27. mars 2008 Gamlemåten? Det var da ikke det jeg spurte om? Jeg vil bare ha en fungerende og enkel side som viser filene i en mappe på serveren! Uansett, jeg har fikset problemet selv nå.
Manfred Skrevet 27. mars 2008 Skrevet 27. mars 2008 For all del... Det er jo idiotisk å gjøre det riktig, så lenge det fungerer...
iver56 Skrevet 27. mars 2008 Forfatter Skrevet 27. mars 2008 Hvordan ser den riktige koden ut da, mener du? Hvis du prøver å si at jeg må gå over til C#, så kan jeg si at det har jeg ingen planer om å sette meg inn i før til høsten.
Manfred Skrevet 27. mars 2008 Skrevet 27. mars 2008 (endret) I første omgang er <script runat="server"> en typisk "gammeldags" asp-måte å løse ting på, og for det andre bør man bruke codebehinds... Jeg har da aldri sagt at noen må bruke C# i stedet for VB, men jeg mener at man skal kode "korrekt" .net. om dette er vb.net eller C#.net er ganske likegyldig. Jeg foretrekker C#, skriver dette selv, og liker ikke VB-syntaxen. Det er en smakssak, og jeg har aldri angrepet noen for å skrive VB. Endret 27. mars 2008 av Manfred
GeirGrusom Skrevet 27. mars 2008 Skrevet 27. mars 2008 Hehe C# > VB.NET Men hvorfor bruker du Datagrid for å vise filer i en mappe? Jeg ville brukt en ListView istedet (hvis den er tilgjengelig i ASP.NET)
j000rn Skrevet 27. mars 2008 Skrevet 27. mars 2008 <asp:repeater /> Ellers ville jeg nok heller fjerna raden fra string[]'n før man .Databind()'et....
iver56 Skrevet 27. mars 2008 Forfatter Skrevet 27. mars 2008 Manfred: Så <script runat="server"> er en stygg vane jeg bør slutte med? Er det bedre å legge script i f.eks default.aspx.vb og linke til denne? GeirGrusom: Jepp, enig i at listview funker bedre her. Brukte det i løsningen.
Manfred Skrevet 27. mars 2008 Skrevet 27. mars 2008 All kode bør uansett ligge i codebehinden som du definerer i topp-taggen: CodeBehind="Default.aspx.vb" i aspx bør det KUN ligge html og <asp: tagger... Slik at du kun har GUI der, og all kode i .aspx.vb-fila. å bruke <script> tag i .aspx-fila er ting som henger igjen fra "gamledager" med asp/vbscript.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå