关于 asp.net core:在带有 Visual Studio 2019 的 Razor Pages 中,编辑标签属性会打乱所有标签助手属性值

In Razor Pages with Visual Studio 2019, editing a tag attribute will scramble all tag helper attribute values

我正在使用 ASP.NET Core 2.2 制作一个 Web 应用程序,并且是第一次或多或少地试用 Razor Pages。当使用"asp-for"属性将 HTML 输入绑定到 PageModel 属性时,一切正常,但是当编辑脚本中任何 HTML 元素中的任何属性时,也定义了"asp-for"属性,除了我正在编辑的元素之外,所有其他元素的所有"asp-for"值都被打乱/清除。

我使用的是最新版本的 Visual Studio 2019 社区版,所有扩展都是最新的。 ASP.NET Core 2.2 和所有包含的包都是它们各自最新的稳定版本。

我已经尝试一一禁用所有扩展,每次都重新启动应用程序以查看其中一个是否导致任何奇怪的行为 - 不过我一开始并没有使用很多,主要只是 GitHub 集成和"格式化"保存"。

我还尝试过查看首选项并取消选中 HTML 和 C# 的许多验证选项,以及诸如新属性的自动引用和右括号插入之类的事情……基本上,我认为可能会产生影响的任何事情.没有任何效果。

一个例子是这样的:

1
2
3
4
5
6
7
8
9
10
    <table>
        <tr>
            <td>Entry ID:</td>
            <td><input type="text" asp-for="EntryID" /></td>
        </tr>
        <tr>
            <td>Entry Name:</td>
            <td><input type="text" asp-for="EntryName" /></td>
        </tr>
    </table>

当编辑带有 asp-for 的任何元素的任何属性时,其他标签的 asp-for 值将被打乱。当我使用退格键或删除键时都会发生这种情况,因此它似乎与键盘快捷键无关。

这是该问题的 gif 图像(显然没有足够的声誉来发布图像 - 道歉)。
https://drive.google.com/file/d/1f1gZSvGrQ8ehpTNwKOA2YbCkfLhx_o-M

如果有人有任何想法,我将不胜感激。这真的是在扼杀生产力,我还没有真正想出任何方法来始终解决这个问题 - 通常在一次删除整个属性时(仍然会打乱其他值),我可以点击一次撤消它会撤消加扰而不是删除本身。不过,这不是 100%,所以这只是一个大麻烦。

7/31 更新:我已经按照 Peter B 的建议将此事报告给 Microsoft。如果有人遇到同样的问题并想知道那里的进展,可以在这里获得报告的链接。


你的 gif 显示它发生在 id 属性上,但你不应该尝试指定 id,因为输入标签助手已经为你做了:

The Input Tag Helper:

* Generates the id and name HTML attributes for the expression name specified in the asp-for attribute. [...]

来源:
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-2.2

我同意这似乎有点奇怪。如果它仍然存在,您可以尝试报告奇怪的行为,如下所述:https://docs.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?查看=vs-2019