2008-09-16 40 views
8

我在ASP.NET用戶控件。當我輸入Control-K,Control-D重新格式化所有標記時,我收到一系列來自VS 2008的消息:「無法重新格式化文檔」在ASP.NET中,VS2008

「無法重新格式化文檔,原始格式已恢復。

「無法完成操作。」

「操作無法完成,參數不正確。」

有人知道是什麼原因造成的嗎?

編輯:好吧,那只是......很奇怪。

的問題是在這裏:

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

不知怎的,那ASP:按鈕線引起的問題。但是,如果我刪除任何個人屬性,格式化工作。或者,如果我添加一個新的屬性,格式化工作。或者,如果我將標籤更改爲非自動關閉,則可以使用。但是,如果我撤消並保持原樣,則不起作用。

我能想到的是,這是一種非常晦澀難懂的奇怪的錯誤。

+0

那麼刪除一個屬性,然後重新輸入它而不是使用撤消呢?也許有一個無法看到的奇怪的無效字符。 – palehorse 2008-09-16 18:32:26

+0

即使我添加了一個新的屬性(比如說,BackColor =「Green」),而不是刪除任何東西,它可以讓我再次格式化。對此我沒有合理的解釋。 – 2008-09-16 18:44:39

+0

多麼奇怪。我想我唯一想知道的其他事情就是將足夠的代碼應對到一個新頁面(只是HTML,BODY表格行和一個帶有按鈕的單元格),看看它是否仍然以這種方式運行......或者只是把它看成是奇怪的錯誤。 – palehorse 2008-09-16 20:19:32

回答

8

您的文檔中可能存在某些格式不正確的標記。你有沒有嘗試過一個新的文件?

+0

我的標記沒有錯誤(據我所知),但這使我走上了正確的軌道來解決問題。 – 2008-09-16 18:29:03

1

幾周前我第一次遇到這個問題。我發現它是無效的HTML。我不得不刪除部分內容,並一次性將其粘貼回去以追查問題。

2

通常這種行爲是由無效的代碼引起的。它可能只是無效的HTML導致它仍然允許程序被編譯。

例如,如果標籤不匹配,IDE無法重新格式化它。

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

檢查您的警告,看看是否有任何條目指向不匹配或未封閉的標籤。

1

對我來說,我在我的標記代碼中有一些虛假的字符。我只是通過將所有文本複製並粘貼到記事本中才發現了這一點。之後,我看到了虛假人物(顯示爲小方塊)。我剛刪除這些行並重新鍵入它們,現在一切正常。

2

選擇整個可疑代碼段,並使用Ctrl + k,Ctrl + F來格式化所選段而不是整個文檔。

這種方式,你可以找到問題的確切位置,特別是沒有關閉或不適當的封閉標籤並修復它們。

由段所有掃描段完成後,你可以格式化整個文檔肯定

2

對於我之後,它通常是與空白的問題。要修復它,我打開查找和替換(CTRL + H),設置中查看「當前文檔」,檢查使用並選擇「正則表達式」。對於查找什麼我輸入「:b | \ n」(減去引號),併爲替換爲我輸入一個空格。然後點擊替換全部

上述步驟將用一個空格替換所有包含空格的換行符,並且下次格式化文檔時,不應該出現任何錯誤。假設您沒有格式錯誤的HTML。

5

今天得到了問題。

我的解決方案:重新啓動Visual Studio

0

只是添加一些信息。此問題是由於html中的某些無效標記導致的。 運行應用程序時不會造成任何阻塞。

不幸的是,這裏提到的解決方案並不適合我。 1.使用正則表達式等

的最佳解決方案,以解決這個問題重新啓動Visual Studio的 2.更換空間是去具體的線路,其中問題引起的,檢查線像,"任何非法字符。只要刪除它,它會正常工作。

0

我的問題是一個額外的"。仔細看看html。