【问题标题】:Event Handler creation support missing缺少事件处理程序创建支持
【发布时间】:2018-03-22 13:33:10
【问题描述】:

我正在使用 Visual Studio 2017 开发一个 WebForm Asp.Net Web 应用程序。

这几天事件处理程序自动完成不再起作用了:

以前,在页面上添加控件后,我可以键入事件的名称,例如 OnClick,然后键入 =" Visual Studio 向我显示了一个下拉列表,其中包含 “create new...” 以及该事件的兼容处理程序列表。

“创建新...”功能对我来说非常重要,因为我并不总是知道方法的签名,而且总的来说我不必手写。

所有这些任务都在 aspx 页面的源视图中执行,并且事件处理程序方法由 Visual Studio 自动插入到 aspx.cs 文件中。

例如,在按钮控件上,通过选择事件处理程序建议中的“新建...”项,VS会自动在aspx.cs中创建以下代码:

protected void BtnDoSomething_Click(object sender, EventArgs e)
{

}

现在不再显示下拉建议。

项目编译成功。 我试过重启项目,重启VS,重启PC,打开一个旧项目……都没有成功。

我该怎么做才能把它带回来?

【问题讨论】:

  • WPF 有同样的问题;当我有错误或未解决的警告时,在同一个文件中智能感知不起作用。
  • 您使用的是哪个版本的 VS 2017?检查这个:developercommunity.visualstudio.com/content/problem/162953/…
  • 但我在文件/项目中没有任何错误或警告。我正在运行 15.5.2,不,我不敢相信这有一个错误......没有它我无法再开发,他们必须在接下来的几个小时内找到解决方案!
  • 新产品总有bug。我仍在使用 VS 2015 并一直使用它,直到进入 2017 版的服务包周期。转到 MS 连接站点并检查此特定问题的状态 - 也许有修复。无论哪种方式,这都不是“炫技”。
  • 错误/警告可能在 .aspx.cs/.aspx 页面中。检查两者!您可以创建一个新项目并在添加控件(或逐个添加控件)之前/之后检查智能感知。最后,您会发现智能感知的问题所在。

标签: c# asp.net visual-studio


【解决方案1】:

将 Visual Studio 升级到 15.6.3 也没有解决问题。 我还尝试了以下方法:

  1. 取消选中“允许并行项目初始化”选项(工具 > 选项 > 项目和解决方案 > 常规)
  2. 删除项目解决方案文件夹中的.vs文件夹
  3. 重启 Visual Studio
  4. 一一禁用所有扩展并重启VS

以上方法均无效。

我注意到在同一个项目的新空白页面中,智能感知工作正常。 经过一些调试,我发现页面中某些元素的属性“样式”导致了问题:

<div style="display:none"></div>

通过从 .aspx 页面中删除所有样式属性解决了该问题。

再次添加其中之一会导致智能感知停止工作。 这不是一个真正的问题,因为我只将样式用于快速测试,所以我会避免使用它们,但是有人知道为什么吗?!?

【讨论】:

  • 我不想再重复我的评论了。但我必须:检查这些元素的样式及其基本/父样式。肯定有一些错误,即使错误/警告窗口中没有报告。
【解决方案2】:

好吧,我正在运行 VS2017 15.5.6,并且在使用 Webforms 应用程序时遇到了同样的问题。我的解决方法是从标记中临时删除大部分代码(将其保存在记事本中),只留下直接围绕并包括需要事件处理程序本身的控件的控件,然后添加事件处理程序,这比成功,并添加删除再次编码。尽管我的代码中可能存在一些隐藏的错误,但我无法找到它们,也没有提到任何警告或错误。但是这个特定的页面相当大:600 行标记和 1932 行代码。标记包含大约 500 个控件。

编辑: 我已经更新到 15.7.3 版本:问题依旧存在

【讨论】:

  • 感谢 PaulvdElst,如果有人能找到解决方案,请让我们更新这篇文章!
  • 我在 Windows Server 2016 上运行 Visual Studio 2017。我已采取步骤切换到 Windows 10(我仍在运行 Visual Studio 15.7.3)。现在问题消失了:事件处理程序被正常创建并且 IntelliSense(例如扩展事件处理程序创建或选择现有)正在正常工作。
【解决方案3】:

检查你的

CodeBehind="yourwebpagename.aspx.cs"

在页面顶部。

【讨论】:

  • 如果您包含屏幕截图或在哪个页面上更明确,那就太好了。
猜你喜欢
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
相关资源
最近更新 更多