2008-09-16 16 views
8

Sono in un UserControl ASP.NET. Quando digito Control-K, Control-D per riformattare tutto il markup, ricevo una serie di messaggi da VS 2008:"Impossibile riformattare il documento" in ASP.NET, VS2008

"Impossibile riformattare il documento." Il formato originale è stato ripristinato. "

"Impossibile completare l'azione."

"Impossibile completare l'operazione. Il parametro non è corretto."

Qualcuno sa che cosa causa questo?

Modifica: OK, è solo ... strano.

Il problema è qui:

<asp:TableCell> 
    <asp:Button Text="Cancel" runat="server" ID="lnkCancel" CssClass="CellSingleItem" /> 
</asp:TableCell> 

In qualche modo che asp: linea Button è la causa del problema. Ma se elimino un singolo attributo, la formattazione funziona. O se aggiungo un nuovo attributo, la formattazione funziona. O se cambio il tag in modo che non si chiuda da solo, funziona. Ma se annullo e lo lascia così com'è, non funziona.

Tutto quello che posso immaginare è che questa è una specie di bug davvero oscuro e bizzarro.

+0

Cosa dire dell'eliminazione di un attributo, quindi la ridigitazione del codice anziché l'annullamento? Forse c'è uno strano personaggio non valido che non può essere visto. – palehorse

+0

Anche se, invece di eliminare qualcosa, aggiungo un nuovo attributo (come, ad esempio, BackColor = "Verde"), mi consente di formattare nuovamente. Non ho alcuna spiegazione logica per questo. –

+0

Che strano. Immagino che l'unica altra cosa che mi chiedo sarebbe copiare il codice in una nuova pagina (solo la riga della tabella HTML, BODY e una cella con il pulsante), vedere se si comporta ancora in questo modo ... o semplicemente dateglielo al bug strano che sembra essere. – palehorse

risposta

8

C'è probabilmente qualche markup malformato da qualche parte nel documento. Hai provato su un nuovo documento?

+0

Il mio markup non era malformato (per quanto ne so), ma questo mi ha messo sulla strada giusta per risolvere il problema. –

+1

Un extra "dopo un tag

2

In genere questo tipo di comportamento è causato da un codice non valido. Potrebbe essere solo HTML non valido a causare ciò che consentirebbe comunque la compilazione del programma.

Ad esempio, se i tag non sono corretti, l'IDE non può riformattarlo.

<div><h1>My Title</div></h1 

Controlla i tuoi avvertimenti per vedere se ci sono voci che puntano verso i tag non corrispondenti o non chiusi.

1

Per me, avevo alcuni caratteri fasulli nel mio codice di marcatura. L'ho trovato solo copiando e incollando tutto il mio testo in Blocco note. Dopo ciò, ho visto i personaggi falsi (mostrati come piccoli quadrati). Ho appena cancellato quelle righe e le ho ridigitate e ora è tutto ok.

2

selezionare tutti i segmenti di codici sospetti e utilizzare Ctrl + k, Ctrl + F per formattare solo i segmenti selezionati anziché l'intero documento.

in questo modo è possibile trovare il luogo esatto dei problemi specialmente non chiusi o tag chiusi inappropriati e risolverli.

dopo tutto segmento per segmento di scansione è fatto è possibile formattare l'intero documento di sicuro

2

Per me, è di solito come questione con spazi bianchi. Per risolvere il problema, apro Trova e sostituisci (CTRL + H), imposta Cerca in su "Documento corrente", seleziona Usa e seleziona "Espressioni regolari".Per Trova cosa Inserisco ": b | \ n" (meno virgolette) e per Sostituire con Inserisco un singolo spazio. Quindi faccio clic su Sostituisci tutto.

I passaggi sopra sostituiranno tutti gli spazi bianchi, comprese le interruzioni di riga, con un singolo spazio e la prossima volta che formattare il documento, non si dovrebbero ricevere errori. Questo presuppone che tu non abbia HTML malformato.

+0

Tranne che se si dispone di javascript con commenti si perde la pagina. Attento a questo .. – Blindy

5

ha avuto il problema oggi.

La mia soluzione: Riavviare Visual Studio

+1

Ho avuto successo semplicemente chiudendo il file in questione e riaprendo. –

+1

Chiudere e riaprire il file è stata la soluzione per me. –

+1

La causa di ciò è la confusione tra parentesi, virgolette, caratteri strani, ecc. Ma la mia esperienza è che riavviare VS è il modo più veloce per sbarazzarsi del problema. –

0

solo per aggiungere qualche informazione in più. Questo problema è causato da alcuni markup non validi in html. Non causerà alcun blocco durante l'esecuzione dell'applicazione.

Sfortunatamente le soluzioni menzionate qui non hanno funzionato per me. 1. Il riavvio visual studio 2. Sostituzione spazi usando espressioni regolari, ecc

La soluzione migliore per risolvere il problema è quello di passare alla riga specifica in cui il problema è causato e verificare che la linea per tutti i simboli non validi come , o ". Basta rimuoverlo e funzionerà correttamente.

0

Il mio problema era un extra ". Guarda attentamente l'html.

Problemi correlati