我在一个 ASP.NET 用户控件. 。当我键入 Control-K、Control-D 来重新格式化所有标记时,我从 VS 2008 收到一系列消息:

“无法重新格式化文档。原始格式已恢复。”

“无法完成该动作。”

“操作无法完成。参数不正确。”

有人知道是什么原因造成的吗?

编辑:好吧,这只是……很奇怪。

问题就在这里:

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

不知何故,asp:Button 行导致了问题。但如果我删除任何单个属性,格式就会起作用。或者,如果我添加新属性,格式就会起作用。或者,如果我将标签更改为非自动关闭,它就会起作用。但如果我撤消并保持原样,它就不起作用。

我所能想到的是,这是某种非常晦涩、奇怪的错误。

有帮助吗?

解决方案

您的文档中的某个位置可能存在一些格式错误的标记。您是否在新文档上尝试过?

其他提示

今天遇到问题了。

我的解决方案:重新启动 Visual Studio

通常这种行为是由无效代码引起的。它可能只是无效的 HTML 导致的,但仍允许编译程序。

例如,如果标签像这样不匹配,IDE 无法重新格式化它。

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

检查您的警告,看看是否有任何条目指向不匹配或未关闭的标签。

对我来说,这通常是空白的问题。为了解决这个问题,我打开“查找并替换”(CTRL+H),设置 在看 到“当前文档”,检查 使用 并选择“正则表达式”。为了 找什么 我输入“:b| ”(减去引号),然后 用。。。来代替 我输入一个空格。然后我点击 全部替换.

上述步骤将用一个空格替换所有空格(包括换行符),并且下次格式化文档时,不应出现任何错误。这是假设您没有格式错误的 HTML。

选择整个可疑代码段并使用 Ctrl+k、Ctrl+F 仅格式化选定的段而不是整个文档。

通过这种方式,您可以找到问题的确切位置,特别是未关闭或不适当的关闭标签并修复它们。

逐段扫描完成后,您可以确定格式化整个文档

几周前我第一次遇到这种情况。我发现这是由于无效的 HTML 造成的。我不得不剪下部分内容,然后一次一点地粘贴回来,以找出问题所在。

对于我来说,我的标记代码中有一些虚假字符。我只是通过将所有文本复制并粘贴到记事本中才发现这一点。之后,我看到了假字符(显示为小方块)。我刚刚删除了这些行并重新输入它们,现在一切正常。

只是添加一些更多信息。此问题是由于某些无效标记引起的 html. 。运行应用程序时不会造成任何阻塞。

不幸的是,这里提到的解决方案对我不起作用。1.重新启动Visual Studio 2。使用正则表达式等替换空格

解决该问题的最佳解决方案是转到导致问题的特定行并检查该行是否有任何无效符号,例如 , 或者 ". 。只需将其删除即可正常工作。

我的问题是额外的 ". 。仔细看html。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top