Domanda

Ho un problema con FreeTextBox rich Text Editor nel mio sito ASP.NET. Il problema si verifica quando accedo al sito con firefox e ho un'istanza di freetextbox in un div nascosto. Il div nascosto potrebbe anche essere un pannello a schede AJAX. Il vero problema è che quando la pagina viene caricata genera un'eccezione non rilevata (firebug mostra la funzione StoreHtml ()) e ferma il postback !!

È ovunque il problema e una soluzione per questo ??

Grazie

È stato utile?

Soluzione

Di recente ho riscontrato un problema simile con le schede dell'interfaccia utente di jQuery. Quello che devi fare è cambiare il CSS per le schede nascoste in qualcosa del tipo:

.hiddentab
{
     position: absolute;
     left: -99999999999999;
}

In questo modo le schede nascoste si trovano molto a sinistra e in modalità di posizione assoluta ciò non provoca la visualizzazione di barre di scorrimento orizzontali. Quando viene visualizzata la scheda, è sufficiente rimuovere la classe hiddentab dall'elemento scheda.

Funzionerà se il problema è legato allo strano comportamento di Firefox con display: nessuno.

Altri suggerimenti

Ho trovato un'altra soluzione al problema nel caso qualcuno lo stia cercando. Quello che ho fatto è stato usare JavaScript per sovrascrivere la funzione OnSubmit del modulo, catturando così l'eccezione che ha causato il problema e proseguendo con il resto del codice.

Tuttavia, la soluzione è una specie di "hacking" poiché non copre ogni situazione. Ho trovato la soluzione nel forum FreeTextBox e l'ho provata e funziona. L'unica differenza nel mio codice è che restituisco true alla fine della funzione di override:

function OvrdSubmit()
{
    var ftbSubmit=document.forms[0].onsubmit;
    if (typeof(ftbSubmit) == 'function')
    {
        document.forms[0].onsubmit = function()
        {
            try{ftbSubmit();}
            catch(ex){}
        }
    }

    // We are ok
    return true;
}

Poiché il mio sito è un sito ASP.NET, ho dovuto aggiungere anche questa riga in Page_Load ():

ClientScript.RegisterOnSubmitStatement(this.GetType(), String.Concat(this.ClientID, "_OnSubmit"), "javascript: return OvrdSubmit();");

Spero che aiuti chiunque abbia lo stesso problema.

Firefox ha un problema con l'essere all'interno di qualsiasi cosa con uno stile di visualizzazione: nessuno. Quello che ho fatto è stato usare un div con uno zIndex che nascondeva il div fino a quando non avevo bisogno che fosse visualizzato. Vorrei iniziare lì.

Grazie per la risposta, tuttavia il mio problema attualmente è che FreeTextBox si trova all'interno di un pannello a schede AJAX, quindi per poterlo fare dovrei ricostruire l'intera funzionalità della scheda e non ho tempo sufficiente!

Per quello che vale, sono vicino a una soluzione (penso) impostando l'attributo .ReadOnly di FTB su true e quindi impostandolo su false sul controlo .PreRender. Funziona per la prima volta che la pagina viene caricata, quindi ora devo capire come implementarlo correttamente per ogni postback.

Pubblicherò la soluzione se la trovo!

Grazie comunque!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top