Gå til innhold

Fjerne en bestemt item fra en datagrid (asp.net 2.0 og vb)


Anbefalte innlegg

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 av Iver_j
Lenke til kommentar
Videoannonse
Annonse

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 av Manfred
Lenke til kommentar

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. :yes:

Lenke til kommentar

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...