iver56 Skrevet 27. mars 2008 Del 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 Lenke til kommentar
Manfred Skrevet 27. mars 2008 Del Skrevet 27. mars 2008 Er ikke dette veldig gamlemåten å skrive asp-script på? Lenke til kommentar
iver56 Skrevet 27. mars 2008 Forfatter Del 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å. Lenke til kommentar
Manfred Skrevet 27. mars 2008 Del Skrevet 27. mars 2008 For all del... Det er jo idiotisk å gjøre det riktig, så lenge det fungerer... Lenke til kommentar
iver56 Skrevet 27. mars 2008 Forfatter Del 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. Lenke til kommentar
Manfred Skrevet 27. mars 2008 Del 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 Lenke til kommentar
GeirGrusom Skrevet 27. mars 2008 Del 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) Lenke til kommentar
j000rn Skrevet 27. mars 2008 Del Skrevet 27. mars 2008 <asp:repeater /> Ellers ville jeg nok heller fjerna raden fra string[]'n før man .Databind()'et.... Lenke til kommentar
iver56 Skrevet 27. mars 2008 Forfatter Del 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. Lenke til kommentar
Manfred Skrevet 27. mars 2008 Del 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. Lenke til kommentar
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å