在 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
我正在使用 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 theid
andname
HTML attributes for the expression name specified in theasp-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