10

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

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

“无法完成动作。”

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

有人知道这是什么原因吗?

编辑:好的,这只是......奇怪。

问题在这里:

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

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

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

4

11 回答 11

9

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

于 2008-09-16T18:12:40.050 回答
5

今天确实遇到了问题。

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

于 2011-09-07T09:53:04.200 回答
2

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

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

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

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

于 2008-09-16T18:14:40.593 回答
2

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

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

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

于 2010-01-08T08:39:03.460 回答
2

对我来说,这通常是空格的问题。要修复它,我打开查找和替换 (CTRL+H),将查找范围设置为“当前文档”,选中使用并选择“正则表达式”。对于查找我输入的内容 ":b|\n"(减引号),对于替换为我输入一个空格。然后我单击全部替换

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

于 2010-08-23T16:43:21.700 回答
2

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

于 2018-02-02T23:24:45.697 回答
1

几周前我第一次遇到这种情况。我发现它归结为无效的 HTML。我不得不剪下部分内容并一次一点地将其粘贴回去以找出问题所在。

于 2008-09-16T18:14:14.820 回答
1

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

于 2009-12-04T20:56:22.673 回答
1

我有一个不需要的分号。但您可能有引号 (')、双引号 (")、分号 (;) 或任何特殊字符。

因此,使用更多详细信息和屏幕截图编辑我的答案,因为它仍然非常活跃。

在此处输入图像描述

通过双击错误转到该行并搜索多余的(不需要的)引号 (')、双引号 (")、分号 (;) 或任何特殊字符。删除它,因为它会导致错误。

于 2021-02-09T10:10:06.027 回答
0

只是为了添加更多信息。此问题是由于html. 运行应用程序时不会导致任何阻塞。

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

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

于 2016-12-27T12:32:51.420 回答
0

我的问题是 html 属性值中的“额外”,删除它后它对我来说工作正常。

于 2019-11-14T06:32:30.553 回答