在 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" 值 用于除我正在编辑的元素之外的所有其他元素 scrambled/wiped 出来了。

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

我试过一个一个地禁用所有扩展,每次都重新启动应用程序以查看其中一个是否导致任何奇怪的行为 - 虽然我一开始并没有使用很多,主要是 GitHub 集成和 "Format on Save" 目前。

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

例如:

<div>
    <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>
</div>

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

这是问题的 gif(显然 post 图片的声誉不足 - 抱歉)。 https://drive.google.com/file/d/1f1gZSvGrQ8ehpTNwKOA2YbCkfLhx_o-M

如果有人有任何想法,我将不胜感激。这真的会降低生产力,我还没有真正想出任何方法来始终如一地解决这个问题——通常当一次删除整个属性时(这仍然会扰乱其他值),我可以点击一次撤消,它就会撤消加扰而不是删除本身。不过这还不是 100%,所以这真是个让人头疼的问题。

7 月 31 日更新:我已经按照 Peter B 的建议将此报告给 Microsoft。如果有人遇到同样的问题并且想知道那里的进展,可以 here 向报告提交 link。

您的 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?view=vs-2019