64 messaggi dal 09 gennaio 2006
Ho installato in 2008 un controllo video per file .flv che si comporta come i control standard, incluso drag-and-drop.
Tale control possiede la proprieta' "visible" che, se usata nel code behind, disabilita il video completamente (FlashVideo1.visible=false)
Ho provato a fare la stessa cosa in Javascript usando la linea di codice:

document.getElementbyId('FlashVideo1').style.visibility="hidden".

Ebbene, l'immagine video scompare, ma rimane in funzione l'audio che continua imperterrito a suonare, cio' significando che il controllo video non e' stato disabilitato.
Cio' e' un limite di Javascript, oppure esiste una metodologia generale per manipolare le varie proprieta' dei WebControl da Javascript? Se si dove la posso reperire?
Beh... ciò che fai è parecchio diverso: impostando Visible=false lato server, il controllo solitamente non viene neanche renderizzato, non produce alcun markup html insomma.

Quando invece si è sul client, molto dipende da come funziona quell'oggetto specifico, che è comunque presente in pagina e che tu stai rendendo semplicemente invisibile. Probabilmente però ci sono delle proprietà client che puoi settare per disabilitarne completamente il funzionamento, ma per questo dovresti affidarti alla documentazione di chi l'ha realizzato.

m.
547 messaggi dal 24 maggio 2002
Contributi
prova così:
document.getElementbyId('FlashVideo1').style.display="none"


Marco
Modificato da makbox il 20 gennaio 2009 14.07 -
64 messaggi dal 09 gennaio 2006
Ciao Marco
Ho gia' provato anche con display="none" e si comporta nello stesso modo di visibility="hidden", cioe' via la grafica ma rimane il suono. Forse, come dice Maxbox, bisogna girare il problema a chi ha creato il FlashVideo Control.
La mia domanda andava anche oltre questo controllo particolare. Per i control standard, come TextBox, Label, Panel etc, inclusi gli AjaxToolkit, esistono delle regole generali per accedere alle loro proprieta' da Javascript?
Modificato da nodar10 il 20 gennaio 2009 15.00 -
Mi sa che hai invertito i nomi

La regola generale è sapere che tipo di output produce un controllo ASP.NET: se voglio modificare via javascript il contenuto di una label, ad esempio, devo sapere che <asp:label ../> diventa <span></span> una volta in HTML, quindi devo usare la proprietà innerHTML.

Al contrario, invece, se fosse una TextBox il risultato sarebbe stato il tag <input /> e di conseguenza avrei dovuto usare la proprietà value.

Ciao,
m.
64 messaggi dal 09 gennaio 2006
Scusa Cradle per lo scambio.
Ho capito il concetto,grazie!
64 messaggi dal 09 gennaio 2006
Per motivo di completezza di questo argomento riporto qui come credo di aver risolto il problema della eliminazione dell'istanza del FlashVideo:

Nel JavaScript ho usato due righe di codice, la prima proposta da Marco:
document.getElementById("FlashVideo1").style.display="none";
e la seconda
ASPNetMedia.FlashVideo("FlashVideo1").StopMedia()
trovata nel sito della ditta che ha creato il controllo FlashVideo.
Quindi la prima elimina la grafica, la seconda, immagino dal nome, stoppa lo streaming.
Questa soluzione non mi piace molto ma sembra funzionare bene. D'altronde, come dice Cradle, la proprieta' "visible" del WebControl blocca la sua iscrizione nell'HTML e quindi non puo' essere invocata dal Javascript che e' client side. Mentre la proprieta' Style.display puo' essere usata sia nel codice behind che nel Java. Quanto sopra, detto senza i crismi della precisione di linguaggio, e' quanto ho capito io.
federico

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.