2008-09-16 9 views
8

Ich bin in einem ASP.NET UserControl. Wenn ich Control-K, Control-D, um alle Markup neu zu formatieren, bekomme ich eine Reihe von Nachrichten von VS 2008:"Konnte das Dokument nicht neu formatieren" in ASP.NET, VS2008

"Konnte das Dokument nicht neu formatieren. Das ursprüngliche Format wurde wiederhergestellt."

"Die Aktion konnte nicht abgeschlossen werden."

"Der Vorgang konnte nicht abgeschlossen werden. Der Parameter ist falsch."

Weiß jemand, was das verursacht?

Bearbeiten: OK, das ist nur ... seltsam.

Das Problem ist hier:

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

Irgendwie asp: Button Linie das Problem verursacht. Wenn ich jedoch ein einzelnes Attribut lösche, funktioniert die Formatierung. Oder wenn ich ein neues Attribut hinzufüge, funktioniert die Formatierung. Oder wenn ich das Tag so ändere, dass es nicht selbstschließend ist, funktioniert es. Aber wenn ich es rückgängig mache und es so lasse, wie es ist, funktioniert es nicht.

Alles, was ich herausfinden kann ist, dass dies eine Art von wirklich obskuren, bizarren Bug ist.

+0

Was ist mit dem Löschen eines Attributs, dann erneut eingeben, anstatt rückgängig zu machen? Vielleicht gibt es ein merkwürdiges ungültiges Zeichen, das nicht gesehen werden kann. – palehorse

+0

Auch wenn ich, anstatt etwas zu löschen, ein neues Attribut (zB BackColor = "Grün") hinzufüge, kann ich es erneut formatieren. Ich habe dafür keine logische Erklärung. –

+0

Wie sehr seltsam. Ich denke, die einzige andere Sache, über die ich mich wundern würde, würde nur genug Code in eine neue Seite (nur die HTML-, BODY-Tabellenzeile und die eine Zelle mit der Schaltfläche) zu sehen, ob es sich immer noch so verhält ... oder einfach schreibe es auf den seltsamen Fehler, der es zu sein scheint. – palehorse

Antwort

8

In Ihrem Dokument befinden sich wahrscheinlich einige fehlerhafte Markierungen. Hast du es auf einem neuen Dokument versucht?

+0

Mein Markup war nicht falsch (soweit ich das beurteilen kann), aber dies brachte mich auf den richtigen Weg, um das Problem zu lösen. –

+1

Ein extra "nach einem

2

Normalerweise wird diese Art von Verhalten durch ungültigen Code verursacht. Es kann nur ein ungültiger HTML-Code sein, der das Programm kompiliert.

Wenn Tags beispielsweise nicht übereinstimmen, kann die IDE sie nicht neu formatieren.

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

Überprüfen Sie Ihre Warnungen, um festzustellen, ob Einträge auf nicht übereinstimmende oder nicht geschlossene Tags verweisen.

1

Für mich hatte ich einige falsche Zeichen in meinem Markup-Code. Ich habe das nur herausgefunden, indem ich meinen gesamten Text in Notepad kopiert und eingefügt habe. Danach sah ich die falschen Charaktere (die sich als kleine Quadrate zeigten). Ich habe gerade diese Zeilen gelöscht und neu eingegeben und jetzt ist alles in Ordnung.

2

Wählen Sie die gesamten verdächtigen Codesegmente aus und verwenden Sie Strg + k, Strg + F, um nur die ausgewählten Segmente anstelle des gesamten Dokuments zu formatieren.

Auf diese Weise können Sie den genauen Ort der Probleme speziell nicht geschlossen oder unpassend geschlossene Tags finden und beheben.

nachdem alle Scan-Segment für Segment durchgeführt wird Sie das gesamte Dokument sicher formatieren können

2

Für mich ist es in der Regel als Problem mit Leerzeichen. Um es zu beheben, öffne ich Suchen und Ersetzen (STRG + H), setze Suchen Sie in zu "Aktuelles Dokument", überprüfen Sie Verwenden Sie und wählen Sie "Reguläre Ausdrücke".Für Finden Sie was Ich gebe ": b | \ n" (minus Anführungszeichen) ein, und für Ersetzen Sie mit Ich gebe ein einzelnes Leerzeichen ein. Dann klicke ich Ersetzen Sie alle.

Die obigen Schritte ersetzen alle Leerstellen - einschließlich Zeilenumbrüchen - durch ein einzelnes Leerzeichen, und beim nächsten Formatieren des Dokuments sollten keine Fehler mehr auftreten. Angenommen, Sie haben kein fehlerhaftes HTML.

+0

entfernt. Nur wenn Sie Javascript mit Kommentaren haben, verlieren Sie Ihre Seite. Vorsicht mit diesem .. – Blindy

5

Habe das Problem heute bekommen.

Meine Lösung: Visual Studio neu starten

+1

Ich hatte Erfolg nur die fragliche Datei zu schließen und wieder zu öffnen. –

+1

Schließen und erneut öffnen der Datei war die Lösung für mich. –

+1

Der Grund dafür ist Verwirrung über Klammern, Anführungszeichen, seltsame Zeichen usw., aber meiner Erfahrung nach ist der Neustart von VS der schnellste Weg, um das Problem loszuwerden. –

0

Nur um weitere Informationen hinzuzufügen. Dieses Problem wird aufgrund eines ungültigen Markups in html verursacht. Während der Ausführung der Anwendung wird keine Blockierung verursacht.

Leider haben die hier genannten Lösungen bei mir nicht funktioniert. 1. Neustarten Visual Studio 2. Ersetzen Räume regex usw. mit

Die beste Lösung um das Problem zu beheben, ist auf die spezifische Linie zu gehen, wo das Problem verursacht wird, und prüfen Sie diese Zeile nach ungültigen Symbole wie , oder ". Entfernen Sie es einfach und es wird gut funktionieren.

0

Mein Problem war ein extra ". Schauen Sie sich den HTML-Code sorgfältig an.