71 messaggi dal 29 novembre 2005
prova a mettere questa parte commentata


<script type="text/javascript">
function changeImg(id, newUrl)
{
document.getElementById(id).src = newUrl;
}
</script>



questa parte è sbagliata [b]<%#eval("img")%>_img" />[b]

o scrivi <%#eval("img")%>_img o scrivi
<%#eval("img")&"_img" %>


<asp:dropdownlist ID="listafoto" DataSourceid="sqlfoto" DataTextField="img" SelectedValue='<%# Bind("img")%>' runat="server" OnSelectedIndexChanged='changeImg(<%#eval("img")%>_img" />, <%# "/images/" & Eval("img") %>)' />

<img alt="" src="" id='<%#eval("img")%>_img'/>

Modificato da diska il 08 febbraio 2006 14.07 -
54 messaggi dal 07 aprile 2005
si grazie c'era una virgoletta di troppo

purtroppo però questo non cambia la sostanza del risultato.

temo di non aver invece ben compreso il suggerimento relativo al commento: intendi dire "commentare la funzione javascript" ?

<script type="text/javascript">
<!--
function changeImg(id, newUrl)
{
document.getElementById(id).src = newUrl;
}
//-->
</script>

se è così non porta alcun ìa differenza nel risultato, che rimane:

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC30456: 'changeImg' is not a member of 'ASP.adm_gestione_agenda_aspx'.
71 messaggi dal 29 novembre 2005
cerca nel forum l'altro giorno qualcuno parlava di javascript..

mi pare usase qualcosa tipo registerstartupscript, cerca qui nel forum
luc_asp wrote:
Compiler Error Message: BC30456: 'changeImg' is not a member of 'ASP.adm_gestione_agenda_aspx'.

ma capperi, OnSelectedIndexChanged è un evento server-side, con quale magia dovrebbe agganciarti a quello client side?
per agganciare l'evento, dal codice server side:
miaddl.Attributes.Add("onchange", "handleChange()");

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
54 messaggi dal 07 aprile 2005
grazie per avermi aiutato a focalizzare il problema
ho modificato il codice di conseguenza ma ho ancora problemi ad assegnare la stringa <%# "/images/" & Eval("img") %> per via delle virgolette

sempre che sia solo quello il problema e che il resto sia giusto

client side:
<script type="text/javascript">
function changeImg(id, newUrl)
{document.getElementById(id).src = newUrl;}
</script>

ovvero, dato che l'id è la costante "mostrafoto" immagino di poter semplicemente scrivere

function changeImg(newUrl)
{document.mostrafoto.src = newUrl;}

ora la dropdownlist, la quale è inclusa in una gridview

<asp:gridview id="gridview1" runat="server" DataSourceID="agenda_all"...... >
<columns>
......
<asp:TemplateField HeaderText="Foto" ItemStyle-VerticalAlign="Top">
<EditItemTemplate>
<asp:SqlDataSource id="sqlfoto"
SelectCommand="SELECT DISTINCT img FROM agenda" Runat="server"
ConnectionString="<%$ ConnectionStrings:galdblocal %>" />
<asp:dropdownlist ID="listafoto" DataSourceid="sqlfoto" DataTextField="img" SelectedValue='<%# Bind("img")%>' runat="server" Font-Size="Smaller" OnSelectedIndexChanged="change" />
...
...(infine mostro l'immagine risultante dalla selezione della drop)
<img alt="" src="" style ="width:70px;" id="mostrafoto"/>
(il src tag non è definito in quanto dovrebbe essere riempito al runtime dalla funzione changeImg)
...

ora il code behind:
Protected WithEvents listafoto As System.Web.UI.WebControls.DropDownList

Sub change(ByVal sender As Object, ByVal e As System.EventArgs)
Dim idValue As String = "mostrafoto"
Dim newUrlValue As String = (--vedi Domanda--)

listafoto.Attributes.Add("onchange", "changeImg(idvalue,newUrlValue)")
End Sub

ovvero, dato che "mostrafoto" è una constant
Sub change(ByVal sender As Object, ByVal e As System.EventArgs)
Dim newUrlValue As String = (--vedi Domanda--)
listafoto.Attributes.Add("onchange", "changeImg(newUrlValue)")
End Sub


Domanda:
immagino che la stringa da assegnarsi a newUrlValue dovrebbe essere <%# "/images/" & Eval("img") %>

ora, sempre che fin qui ci siamo (...) ho qualche problema con le virgolette dato che

Dim newUrlValue As String = "<%# "/images/" & Eval("img") %>"
non funziona, e neanche
Dim newUrlValue As String = '<%# "/images/" & Eval("img") %>'
e neppure
Dim newUrlValue As String = "<%# '/images/' & Eval('img') %>"

come assegnare correttamente la stringa <%# "/images/" & Eval("img") %> a newUrlValue ?

Grazie in anticipo, a prescindere da eventuale risposta per la gentile nonchè utilissima collaborazione

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.