Eliminare immagine da datalist prelevati da database sql

giovedì 24 giugno 2010 - 16.29

basicdany Profilo | Expert

Ciao, ho un datalist impaginato in questa maniera che mi visualizza delle immagini prelevate direttamente dal database sql server 2005

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
BorderColor="Aqua" RepeatColumns="5">
<ItemTemplate>
&nbsp;&nbsp;&nbsp;

<a href='<%# "../ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' rel="lightbox">

<asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima" whith = "140" height = "140"
ImageUrl='<%# "../ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' />
</a>

<br />
</ItemTemplate>
</asp:DataList>

ho 2 problemi da risolvere:

devo far visualizzare una voce "elimina" ad ogni immagine caricata nel datalist e quindi al click effettuare l'eliminazione dell'immagine
dal db.

qualcuno puo aiutarmi?

grazie a tutti

TOPOAMORE Profilo | Expert

Ciao

ma un linkbutton affianco a ogni immagine potrebbe andare???

__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, si mi andrebbe bene anche un linkbutton.

grazie fammi sapere come farlo

TOPOAMORE Profilo | Expert

><asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
> BorderColor="Aqua" RepeatColumns="5">
> <ItemTemplate>
>    
>
><a href='<%# "../ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' rel="lightbox">
>
><asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima" whith = "140" height = "140" ImageUrl='<%# "../ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto")%>' /></a>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="mysub" >LinkButton</asp:LinkButton>

dove ovviamente mysub e una tua sub di eliminazione immagine
>
> <br />
> </ItemTemplate>
> </asp:DataList>
>
>ho 2 problemi da risolvere:
>
>devo far visualizzare una voce "elimina" ad ogni immagine caricata
>nel datalist e quindi al click effettuare l'eliminazione dell'immagine
>dal db.
>
>qualcuno puo aiutarmi?
>
>grazie a tutti
>
Prego
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, ho inserito in dettagli.aspx cosi la riga che mi hai spiegato:

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
BorderColor="Aqua" RepeatColumns="5">
<ItemTemplate>
&nbsp;&nbsp;&nbsp;

<a

href='<%# "ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' rel="lightbox">

<asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima" whith = "140" height = "140"
ImageUrl='<%# "~/ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' />

<br />

</a>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="EliminaFoto" >Elimina</asp:LinkButton>


<br />
</ItemTemplate>
</asp:DataList>

e una sub EliminaFoto in Dettagli.aspx.vb


Per passare Idfoto della foto alla sub come faccio???

grazie aspetto gentile aiuto.

ciao grazie

TOPOAMORE Profilo | Expert

>ciao, ho inserito in dettagli.aspx cosi la riga che mi hai spiegato:
>
><asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
> BorderColor="Aqua" RepeatColumns="5">
> <ItemTemplate>
>    
>
> <a
>
>href='<%# "ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto")
>%>' rel="lightbox">
>
><asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima"
>whith = "140" height = "140"
>ImageUrl='<%# "~/ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto")
>%>' />
>
> <br />
>
> </a>
>
><asp:LinkButton ID="LinkButton1" runat="server" OnClick="EliminaFoto"
>>Elimina</asp:LinkButton>
>

Perfetto


>
> <br />
> </ItemTemplate>
> </asp:DataList>
>
>e una sub EliminaFoto in Dettagli.aspx.vb
>
>
>Per passare Idfoto della foto alla sub come faccio???
>
>grazie aspetto gentile aiuto.
>

Inpratica puoi settare la proprieta CommandArgument del link button con l'id foto in questo modo:

CommandArgument='<%#eval("idfoto")%>'

e recuperarlo nella sub

>ciao grazie

Prego
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, ho fatto cosi:

<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#eval("idfoto")%>' OnClick="EliminaFoto" >Elimina</asp:LinkButton>

dalla sub come recupero il valore?

grazie

TOPOAMORE Profilo | Expert

>ciao, ho fatto cosi:

Ciao

>
><asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#eval("idfoto")%>'
>OnClick="EliminaFoto" >Elimina</asp:LinkButton>
>

modifica cosi'

<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#eval("idfoto")%>Elimina</asp:LinkButton>

>dalla sub come recupero il valore?

L'elemento Linkbutton ha un'evento chiamato click

All'interno di quell'evento fai piccole semplici operazioni cioe:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
>

Ma non finisce qui con la riga

Dim linkriferimento As LinkButton = CType(sender, LinkButton)

Tu predi pieno rifermento del link button andando a conoscere qualsiasi elemento impostato in esso e non solo il commandargument.

>grazie
Prego
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao,

ho inserito nel codice asp :

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="EliminaFoto" >Elimina</asp:LinkButton>

nel codice vb:

Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles link11.Click
'Questa riga serve per far riferimento al linbutton che ha scatenato l'evento in modo da assegnarlo a un linkbutton di riferimento
Dim linkriferimento As LinkButton = CType(sender, LinkButton)
'Qui prelevi il valore di commandargument
Dim a As String = linkriferimento.CommandArgument
End Sub

ma mi genera un errore :

Errore 3 La clausola Handles richiede una variabile WithEvents definita nel tipo che la contiene o in uno dei suoi tipi di base. H:\Lavori in Corso\PROGETTI IN CORSO\Gestione GDP 26 _06_10\WWW\Dettagli.aspx.vb 150 94 H:\...\WWW\

aspetto tuo aiuto ciao

TOPOAMORE Profilo | Expert

>ciao,
>

Ciao


>ho inserito nel codice asp :
>
><asp:LinkButton ID="LinkButton1" runat="server" OnClick="EliminaFoto"
>>Elimina</asp:LinkButton>
>

Si ma devi eliminare

OnClick="EliminaFoto"

e il codice inserito in EliminaFoto devi inserirlo nell'evento click del link button

>nel codice vb:
>
>Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e
>As System.EventArgs) Handles link11.Click
>'Questa riga serve per far riferimento al linbutton che ha scatenato
>l'evento in modo da assegnarlo a un linkbutton di riferimento
>Dim linkriferimento As LinkButton = CType(sender, LinkButton)
> 'Qui prelevi il valore di commandargument
> Dim a As String = linkriferimento.CommandArgument
> End Sub
>
>ma mi genera un errore :
>
>Errore 3 La clausola Handles richiede una variabile WithEvents
>definita nel tipo che la contiene o in uno dei suoi tipi di base. H:\Lavori
>in Corso\PROGETTI IN CORSO\Gestione GDP 26 _06_10\WWW\Dettagli.aspx.vb 150 94 H:\...\WWW\
>
>aspetto tuo aiuto ciao
>
>
Prova e fammi sapere
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, ti ripeto avevo tolto onclick
gia' avevo solo sbagliato a scriverlo nel post
comunque nel codice asp :


<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
BorderColor="Aqua" RepeatColumns="5">
<ItemTemplate>
&nbsp;&nbsp;&nbsp;
<a
href='<%# "ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' rel="lightbox">
<asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima" whith = "140" height = "140"
ImageUrl='<%# "~/ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' />
<br />
</a>

<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#eval("idfoto")%>Elimina</asp:LinkButton>

<br />
</ItemTemplate>
</asp:DataList>

e nel codice vb:

Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles link1.Click
'Questa riga serve per far riferimento al linbutton che ha scatenato l'evento in modo da assegnarlo a un linkbutton di riferimento
Dim linkriferimento As LinkButton = CType(sender, LinkButton)
'Qui prelevi il valore di commandargument
Dim a As String = linkriferimento.CommandArgument

'codice per eliminare foto

End Sub

genera errore:
Errore 153 La clausola Handles richiede una variabile WithEvents definita nel tipo che la contiene o in uno dei suoi tipi di base. H:\Lavori in Corso\PROGETTI IN CORSO\Gestione GDP 26 _06_10\WWW\Dettagli.aspx.vb 143 94 H:\...\WWW\

tieni conto che non vedo nel codice vb evento del LinkButton1 ho solo copiato la procedura che ti ho postato:

Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles link1.Click
'Questa riga serve per far riferimento al linbutton che ha scatenato l'evento in modo da assegnarlo a un linkbutton di riferimento
Dim linkriferimento As LinkButton = CType(sender, LinkButton)
'Qui prelevi il valore di commandargument
Dim a As String = linkriferimento.CommandArgument

'codice per eliminare foto

End Sub


aspetto risposta ciao

TOPOAMORE Profilo | Expert

>ciao, ti ripeto avevo tolto onclick
>gia' avevo solo sbagliato a scriverlo nel post
>comunque nel codice asp :
>

Ok

>
><asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
> BorderColor="Aqua" RepeatColumns="5">
> <ItemTemplate>
>    
> <a
>href='<%# "ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto")
>%>' rel="lightbox">
><asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima"
>whith = "140" height = "140"
>ImageUrl='<%# "~/ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto")
>%>' />
> <br />
> </a>
>
><asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#eval("idfoto")%>Elimina</asp:LinkButton>
>
> <br />
> </ItemTemplate>
> </asp:DataList>
>

Scusami non avevo capito che era in datalist....

Poco cambia e facciamo un passo indietro

rimetti

OnClick="tuasub"

e unisci ul tutto cosi':

Sub tuasub(ByVal sender As Object, ByVal e As System.EventArgs) 'Questa riga serve per far riferimento al linbutton che ha scatenato l'evento in modo da assegnarlo a un linkbutton di riferimento Dim linkriferimento As LinkButton = CType(sender, LinkButton) 'Qui prelevi il valore di commandargument Dim a As String = linkriferimento.CommandArgument 'codice per eliminare foto End Sub

>e nel codice vb:
>
>Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e
>As System.EventArgs) Handles link1.Click
>'Questa riga serve per far riferimento al linbutton che ha scatenato
>l'evento in modo da assegnarlo a un linkbutton di riferimento
>Dim linkriferimento As LinkButton = CType(sender, LinkButton)
> 'Qui prelevi il valore di commandargument
> Dim a As String = linkriferimento.CommandArgument
>
> 'codice per eliminare foto
>
> End Sub
>
>genera errore:
>Errore 153 La clausola Handles richiede una variabile WithEvents
>definita nel tipo che la contiene o in uno dei suoi tipi di base. H:\Lavori
>in Corso\PROGETTI IN CORSO\Gestione GDP 26 _06_10\WWW\Dettagli.aspx.vb 143 94 H:\...\WWW\
>
>tieni conto che non vedo nel codice vb evento del LinkButton1
>ho solo copiato la procedura che ti ho postato:
>

>aspetto risposta ciao
>
>
Ecco la risposta e anche la soluzione

Ciaooo
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, ancora no, idfoto che mi passa e = alla stringa '<%#Eval("idfoto")%>' e non ha un valore esempio 10

il codice in asp e:

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
BorderColor="Aqua" RepeatColumns="5">
<ItemTemplate>
&nbsp;&nbsp;&nbsp;
<a
href='<%# "ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' rel="lightbox">
<asp:Image ID="Image1" runat="server" ToolTip="clicca perl'anteprima" whith = "140" height = "140"
ImageUrl='<%# "~/ShowImagePerIDImmobile.ashx?Idfoto=" & Eval("Idfoto") %>' />
<br />
</a>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="EliminaFoto" CommandArgument='<%#Eval("idfoto")%>' Elimina </asp:LinkButton>

<br />
</ItemTemplate>
</asp:DataList>


il codice vb e:

Sub EliminaFoto(ByVal sender As Object, ByVal e As System.EventArgs)
Try

'Questa riga serve per far riferimento al linbutton che ha scatenato l'evento in modo da assegnarlo a un linkbutton di riferimento
Dim linkriferimento As LinkButton = CType(sender, LinkButton)
'Qui prelevi il valore di commandargument
'codice per eliminare foto
Dim IDElimina As String

IDElimina = linkriferimento.CommandArgument

Dim Cn As New SqlClient.SqlConnection 'Oggetto Connessione

Dim SQLQuery As String = String.Empty
Dim Cmd As New System.Data.SqlClient.SqlCommand

Cmd.Connection = Cn

If Cn.State = ConnectionState.Closed Then Cn.ConnectionString = ConnectionString
If Cn.State = ConnectionState.Closed Then Cn.Open()

''Query to delete record from table.
Cmd.CommandText = "DELETE FROM ImmobileFoto WHERE id=" & IDElimina
Cmd.ExecuteNonQuery()

Cn.Close()
Catch ex As Exception

End Try

End Sub

ciao grazie

TOPOAMORE Profilo | Expert

Scusami ma nell'url dell'iimagine dove hai inserito eval("idfoto") ti restituisce l'idfoto???
__.__.__.__.__.__

ASP 2.0 - VB 2008

basicdany Profilo | Expert

ciao, tutto ok ho risolto passando in questa maniera id:

<asp:LinkButton ID="LinkButton1" CommandArgument=<%#eval("idfoto")%> runat="server" OnClick="EliminaFoto">Elimina</asp:LinkButton>

ciao grazie di tutto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5