+ Rispondi al Thread
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Reload Object Flash

  1. #11
    1djluigi non è in linea Novello
    Post
    14
    grazie del suggerimento..il sistema comunque non funziona (carica solo il primo filmato, cioè al clik del client ricarica lo stesso filmato...forse ci sarà qualche errore nel codice....)
    adesso vi pongo un ulteriore domanda....supponiamo di dover riempire una text box e a seconda del contenuto della textbox al click sul button carico un swf differente...quindi significa che da lato server delle fare delle operazioni che poi dovrò passare a quella function swf...come posso fare?
    Ultima modifica di 1djluigi; 11-11-2008 22:43 

  2. #12
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Per il primo discorso, to ho indicato in maniera generica come accedere via dom ad un oggetto (tra l'altro sulla base del tuo primo post, nel secondo mi pare sia strutturato diversamente, con un embed)... se noti l'indicazione dell'swf compare in almento due punti. Ovviamente dovrai sostituirli entrambi.

    Una nota: Le function è meglio definirle nell'head, e lasciare nel body solo richiami alle funzioni. Non da problemi in questo caso anche lasciarle dove le hai messe, ma se prevedi di utilizzare estensivamente javascript (e per ottenere una pagina dai contenuti dinamici non ci sono molte alternative), è il caso di strutturare le cose nella maniera più opportuna.

    Per quanto riguarda la seconda domanda... se scrivi una cosa del genere nella pagina:
    [codei]<script ... >
    ...
    var stringa='<% espressione asp %>';
    ...
    </script>[/code]
    Quello che ottieni è di generare del codice javascript sulla base di quanto richiesto al server. Se riesci a generare lato asp sia l'url iniziale che quello da sostituire, non hai problemi ad ottenere quanto ti serve.

    Tieni sempre in mente come funziona ogni sistema di pagine attive e come lavora javascript ed il codice lato client:
    - Il browser effettua una richiesta get al server (get pippo.asp)
    - Il server prende la pagina asp, ne interpreta il codice contenuto, e restituisce al client una pagina html (né più né meno)
    - L'eventuale codice javascript presente nella pagina entra in funzione sul browser dell'utente

    Ciaociao


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  3. #13
    1djluigi non è in linea Novello
    Post
    14
    Adesso sto riscontrando abbastanza problemi perchè...adesso vi spiego...
    Come mi avevate spiegato diligentemente voi, devo richiamare tramite un button la funzione swf() tramite un onclientclick....adesso però il problema che oltre a dover effettuare delle operazioni da lato client (swf()) devo richiamare anche delle operazioni da lato server (ossia dal .cs...che genererà il path del nuovo swf) che sono contenute nel codice sottostante...
    i problemi che riscontro sono i seguenti...

    1) Mi da 3 errori nel file App_Web_lftm8liv.1.cs(che non sò nemmeno cosa sia) dicendomi che manca un punto un punto e virgola all'interno della seguente stringa( precisamente nel w.write)
    codice:
      @__w.Write("\";\r\n                }\r\n            }\r\n        }\r\n    }\r\n</script>\r\n\r\n\t<div class=" +
                        "\"shim solid\"></div>\r\n\t\r\n\t<div class=\"page\" id=\"details\">\r\n\t\t");
    2) mi dice che nella funzione swf() la variabile nome non è dichiarata(quando poi è dichiarata e valorizzata nell'ultima riga del .cs)...


    p.s. un dubbio... è possibile dichiarare un operazione onclientclick e una onclick (ossia una lato client e una lato server)?...quale viene effettuata per prima?

    codice:
    <%@    Page Language="C#" MasterPageFile="~/Default.master" Title="Your Name Here | Picture Details"
        CodeFile="Details.aspx.cs" Inherits="Details_aspx" %>
    
    <asp:content id="Content1" contentplaceholderid="Main" runat="server">
    
    <script type="text/javascript">
        function swf ()
        {
        var ogg = document.getElementById("Object1");
        var stringa = "<%=nome %>" ;
            var childs = ogg.childNodes;
            for (var i = 0; i < childs.length; i++)
            {
                var attr = childs[i].attributes;
                if (attr != null && attr.name != null)
                {
                    if (attr.name.value == "movie")
                    {
                        attr.value.value = stringa;
                    }
                }
            }
        }
    </script>
    
    
    
        <div class="shim solid"></div>
        
        <div class="page" id="details">
            <asp:formview id="FormView1" runat="server" cssclass="view"
                borderstyle="none" borderwidth="0" CellPadding="0" cellspacing="0" EnableViewState="false" AllowPaging="true" OnPageIndexChanging="FormView1_PageIndexChanging">
                <itemtemplate>
                
                
                
                    <div class="buttonbar buttonbar-top">
                        <a href="Albums.aspx"><asp:image ID="Image1" runat="Server"     skinid="gallery" /></a>
                        <a href="javascript:history.back();">Torna alla pagina precedente</a>
                        
                    </div>
                    <p><%# Server.HtmlEncode(Eval("Nome").ToString()) %></p>
                    <table border="0" cellpadding="0" cellspacing="0" class="photo-frame">
                        <tr>
                            <td class="topx--"></td>
                            <td class="top-x-"></td>
                            <td class="top--x"></td>
                            <td class="top--x"></td>
                        </tr>
                        <tr>
                            <td class="midx--"></td>
                            <td>
                        <asp:Panel ID="Panel1" runat="server">
                            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="Object1" align="middle">
                            <param name="allowScriptAccess" value="sameDomain" />
                            <param name="movie" value="<%= path %>" />
                            <param name="quality" value="high" />
                            <param name="bgcolor" value="#ffffff" />
                            <embed src="<%= path %>" quality="high" bgcolor="#ffffff" width="550"   height="400" name="mymovie" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
                            </object>
                        </asp:Panel>
    
    </td>
                            <td class="mid--x" style="width: 13px"></td>
                            <td class="mid--x" style="width: 160px">
                                <table style="width: 121px; height: 303px">
                                    <tr>
                                        <td align="left" style="width: 133px; height: 44px">
                                            Dati Tecnici Spot</td>
                                    </tr>
                                    <tr>
                                        <td style="width: 133px; height: 38px;" align="left">
                                            Descrizione:<br />
                                            "<%= descrizione %>"</td>
                                    </tr>
                                    <tr>
                                        <td style="width: 133px; height: 41px;" align="left">
                                            Tipo:"<%= tipo %>"</td>
                                    </tr>
                                    <tr>
                                        <td style="width: 133px; height: 36px;" align="left">
                                            Xml:"<%= xml %>"</td>
                                    </tr>
                                    <tr>
                                        <td style="width: 133px; height: 33px;" align="left">
                                            Keywords:"<%= keywords %>"</td>
                                    </tr>
                                    <tr>
                                        <td style="width: 133px; height: 31px;" align="left">
                                            Deleted:"<%= deleted %>"</td>
                                    </tr>
                                    <tr>
                                        <td align="left" style="width: 133px; height: 31px">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left" style="width: 133px; height: 34px">
                                            Modifica</td>
                                    </tr>
                                    <tr>
                                        <td align="left" style="width: 133px; height: 69px">
                                            <asp:Panel ID="Panel2" runat="server">
                                              
                                            </asp:Panel>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left" style="width: 133px; height: 26px">
                                            <asp:Button ID="Button1" runat="server"   OnClientClick="swf()" OnClick="Button1_Click" Text="Anteprima" /></td>
                                    </tr>
                                </table>
                             
                            </td>
                        </tr>
                        <tr>
                            <td class="botx--"></td>
                            <td class="bot-x-"></td>
                            <td class="bot--x" style="width: 13px"></td>
                            <td class="bot--x" style="width: 160px">
                            </td>
                        </tr>
                    </table>
                    <p><a href='Download.aspx?IdCategorie=<%# Eval("Id") %>&Page=<%# Container.DataItemIndex %>'>
                        <asp:image runat="Server" id="DownloadButton" AlternateText="download this photo" skinid="download" /></a></p>
                    <div class="buttonbar">
                        <a href="Albums.aspx"><asp:image ID="Image2" runat="Server"     skinid="gallery" /></a>
                        <a href="javascript:history.back();">Torna alla pagina precedente</a>
                    </div>
    
                </itemtemplate>
            </asp:formview>
        </div>
    </asp:content>
    Codice aspx.cs

    codice:
     protected void Button1_Click(object sender, EventArgs e)
        {
            Panel panel = (Panel)(FormView1.FindControl("Panel2"));
            int k = 0;
            XmlDocument doc = new XmlDocument();
            string IdMessaggi = Convert.ToString(Request.QueryString["IdMessaggi"]);
            docurl = "C:/Documents and Settings/l.saggese/Desktop/Paging_Csharp/PWS_Csharp/Messaggi/" + IdMessaggi + "/" + "DatiSpot.xml";
            doc.Load(docurl);
    
            //carico il contenuto dell'xml e dei suoi figli  a partire da datispot
            XmlNode nodo = doc.SelectSingleNode("//DatiSpot");
            XmlNodeList listanodi = nodo.ChildNodes;
            
            Table table = (Table)(panel.FindControl("Tabella"));
            int numtbx = ((table.Rows.Count)/2)-1;
    
            for (int count = 0; count <= numtbx; count++)
            {
                string nometbx = "textbox" + k;
                TextBox tbx = (TextBox)(table.FindControl(nometbx));
                if (tbx.Text != string.Empty)
                {
                    string txt = (string)(tbx.Text);
                    XmlNode node = listanodi[count];
                    node.Attributes["id"].Value = txt;
    
                }
                k = k + 1;
            }
            string tmpdir = "D:/" + IdMessaggi + "/filetemporanei";
            string filename = "/" + IdMessaggi + ".xml";
            string completeds = tmpdir + filename;
            System.IO.Directory.CreateDirectory(tmpdir);
            doc.Save(completeds);
            string newpath = "C:/Documents and Settings/l.saggese/Desktop/Paging_Csharp/PWS_Csharp/Messaggi/" + IdMessaggi + "/" + IdMessaggi + ".swf";
            System.IO.File.Copy(newpath, tmpdir + "/" + IdMessaggi + ".swf");
            string nome = tmpdir + "/" + IdMessaggi + ".swf";
        }

  4. #14
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Facciamo un passo indietro. Supponiamo che vuoi passare da A.swf a B.swf.

    Se "B.swf" deve essere generato dal server sulla base del contenuto inserito dall'utente nella pagina non puoi lavorare solo lato client. In un modo o nell'altro devi reinviare le informazioni al server. Se vuoi evitare il refresh è possibile passare da ajax, ma mi pare che tu ti stia infilando in una serie di cose difficili da maneggiare se non si conoscono bene.

    Se B.swf invece lo puoi generare alla prima visita (cioè riesci a generare una pagina contenente A.swf ed una stringa "B.swf" pronta perché il javascript effettui la sostituzione al volo), puoi ottenere la sostituzione senza inviare dati al server.

    Le due cose sono distinte tra loro e notevolmente diverse.
    Nel primo caso:
    - carichi la pagina con a.swf
    - imposti, per dire, un checkbox ed un text
    - mandi i dati al server che ti genera, sulla base degli input utente, b.swf
    - porti b.swf sulla pagina
    Nel secondo:
    - carichi la pagina con a.swf e già b.swf (preparato per la sostituzione)
    - al click dell'utente effettui la sostituzione

    Nel primo caso c'è dialogo con il server dopo aver servito la prima pagina, nel secondo no.
    Solo nel secondo caso ottieni di sostituire l'swf al volo lato client senza alcun caricamento, nel primo la richiesta al server va fatta (con un refresh della pagina o, al limite, sfruttando ajax per una sorta di partial page rendering) e gestita.

    Bisogna capire quale dei due comportamenti ti interessa. Sulla base del tuo primo post ti ho indicato una strada relativa al secondo caso (nessun refresh, ma a e b già pronti per la sostituzione).
    Se quella che vuoi seguire è la prima strada va usato un approccio del tutto diverso (e se effettui refresh della pagina non c'è nemmeno bisogno del javascript).

    Ciaociao


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  5. #15
    1djluigi non è in linea Novello
    Post
    14
    a me interesserebbe il primo approccio...
    il problema(pur non interessandomi questo tipo di approccio) che sussiste è che anche se passo (con un onclick lato server) tramite un button il nuovo path dell'swf quest'ultimo non lo carica ma mi dà al posto dell'swf uno sfondo bianco....

    forse sbaglio nel caricare il path delll'swf (al primo accesso) direttamente nel pageload?
    nel caso fosse questo il problema come posso caricare l'swf all'esterno dell pageload?
    Ultima modifica di 1djluigi; 12-11-2008 10:52 

  6. #16
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da bottomap Visualizza il messaggio
    Bisogna capire quale dei due comportamenti ti interessa. Sulla base del tuo primo post ti ho indicato una strada relativa al secondo caso (nessun refresh, ma a e b già pronti per la sostituzione).
    Se quella che vuoi seguire è la prima strada va usato un approccio del tutto diverso (e se effettui refresh della pagina non c'è nemmeno bisogno del javascript).
    Per 1djluigi:
    quello che bottomap ti ha pazientemente indicato mi sembra proprio l'abc che dovresti già sapere .
    Ad ogni modo per raggiungere il tuo scopo hai tipo una decina di modi. Per esempio un modo eseguendo il postback al server può essere:
    codice:
             <object id="Object1" width="425" height="344">
                <param name="movie" value="<%= GetPath %>"></param>
                <param name="quality" quality="best" />
                <param name="allowFullScreen" value="true"></param>
                <param name="allowscriptaccess" value="always"></param>
                <embed src="<%= GetPath %>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
            </object>
            <asp:Button id="btnGeneratePath" runat="server" Text="Generate" OnClick="btnGeneratePath_Click" />
    Invece dal punto di vista del codice bisogna definire una property GetPath:
    codice:
    protected string GetPath
        {
            get
            {
                if (ViewState["GetPath"] == null)
                    //Definisci se ritornare un path di default
                    return "path di default";
                return (string)ViewState["GetPath"];
            }
            set
            {
                ViewState["GetPath"] = value;
            }
        }
    La Property sopra indicata puoi settarla nel page load se !IsPostBack (o in base alle tue logiche) oppure nell'evento del controllo button runat = server:
    codice:
    protected void btnGeneratePath_Click(object sender, EventArgs e)
        {
            //Tua logica
            GetPath = "http://www.youtube.com/v/GwGvA-VuVws&hl=it&fs=1";
        }

  7. #17
    1djluigi non è in linea Novello
    Post
    14
    grazie ragazzi siete stati molto comprensivi e pazienti....
    ne posso approfittare?....
    ho delle domandine per voi veterani...
    1) vorrei sapere se conoscete qualche strumento di gestione delle news da inserire nel mio sito in c#.
    2) anche l'inserimento di un forum senza andare a modificare la struttura del mio sito
    3) dovrei inserire delle textbox dove inserire delle date nel formato (dd/mm/aaaa)...vorrei sapere come inserire uno strumento calendario che mi gestisce l'inserimento delle date (una cosa tipo come la si fà nei siti di prenotazione viaggi per capirci....)

    p.s. in generale mi interesserebbe aggiungere dei moduli aggiuntivi al mio sito, tipo news forum photogallery e altro...in pratica tutto ciò che implementa un cms....vi spiego subito perchè non utilizzo un cms...
    in pratica io ho creato sia a livello grafico che di logica una parte importante del mio sito ossia gestione di filmati flash e photogallery...adesso andare a integrare tutto ciò in un cms l'ho trovato molto difficile...(io ad esempio ho utilizzato mojoportal) in quanto si noterebbe subito il distacco grafico tra il layout del cms e quello del mio sito, e poi proprio praticamente mi è risultato difficile....consigli a riguardo?

  8. #18
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    1) vorrei sapere se conoscete qualche strumento di gestione delle news da inserire nel mio sito in c#.
    Personalmente non conosco nulla che possa fare al caso tuo ma in linea di massima la creazione di una custom web part news non è certo un lavoro trascendentale. Poi credo che puoi toglierti tutti i tuoi dubbi con delle ricerche su google.

    2) anche l'inserimento di un forum senza andare a modificare la struttura del mio sito
    Io posso segnalarti per Asp.Net 2.0:
    About | YetAnotherForum.NET Open Source C# ASP.NET Forum
    un progetto open source scritto in C#. Ma da qui a dirti che non comporterà da parte tua nessuna modifica al tuo sito c'è ne passa.

    3) dovrei inserire delle textbox dove inserire delle date nel formato (dd/mm/aaaa)...vorrei sapere come inserire uno strumento calendario che mi gestisce l'inserimento delle date (una cosa tipo come la si fà nei siti di prenotazione viaggi per capirci....)
    Nella toolbox di Visual Studio esiste già un controllo calendar.

    Un suggerimento: lascia delle indicazioni (ai posteri) se sei riuscito a risolvere il tuo problema con il codice che gentilmente qualcuno ti fornisce

  9. #19
    1djluigi non è in linea Novello
    Post
    14
    Grazie

    P.s.il codice che mi ha segnalato tu faceva al mio caso per questo non ho inserito nulla....

+ Rispondi al Thread
Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi