views:

986

answers:

7

I'm in an ASP.NET UserControl. When I type Control-K, Control-D to reformat all the markup, I get a series of messages from VS 2008:

"Could not reformat the document. The original format was restored."

"Could not complete the action."

"The operation could not be completed. The parameter is incorrect."

Anybody know what causes this?

Edit: OK, that is just...weird.

The problem is here:

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

Somehow that asp:Button line is causing the problem. But if I delete any individual attribute, the formatting works. Or if I add a new attribute, the formatting works. Or if I change the tag to be non-self-closing, it works. But if I undo and leave it as-is, it doesn't work.

All I can figure is that this is some sort of really obscure, bizarre bug.

A: 

There's probably some malformed markup somewhere in your document. Have you tried it on a fresh document?

John Sheehan
My markup wasn't malformed (as far as I can tell), but this put me on the right track to solve the problem.
Kyralessa
A: 

I encountered this for the first time a few weeks ago. I found it was down to invalid HTML. I had to cut out sections of content and paste it back in a little at a time to track down the problem.

Steve Morgan
A: 

Usually this sort of behavior is caused by invalid code. It may only be invalid HTML causing it which would still allow the program to be compiled.

For example, if tags are mismatched like this the IDE cannot reformat it.

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

Check your warnings to see if there are any entries pointing towards mismatched or unclosed tags.

palehorse
A: 

For me, I had some bogus characters in my markup code. I only found this out by copy and pasting all my text into Notepad. After that, I saw the bogus characters (showed up as little squares). I just deleted those lines and retyped them and now everything is ok.

Calvin
A: 

I'm getting this at times, sometimes it's caused by having plain text inside an element that doesn't like to. Sometimes it's not. The annoying thing is it gets triggered while I'm in Design view and I can't switch to Source view to even look at the HTML.

swordfishBob
A: 

select the suspicious codes and use Ctrl+k,Ctrl+F to format only the selection instead of whole document to find the exact place of problems.

imanabidi
A: 

For me, it's usually as issue with whitespace. To fix it, I open Find and Replace (CTRL+H), set Look in to "Current Document", check Use and select "Regular expressions". For Find what I enter ":b|\n" (minus quotes), and for Replace with I enter a single space. Then I click Replace All.

The steps above will replace all whitespace—including line breaks—with a single space, and the next time you format the document, you shouldn't get any errors. That is assuming you don't have malformed HTML.

Jordan