事件处理程序创建支持丢失

时间:2018-03-22 13:33:10

标签: c# asp.net visual-studio

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

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

以前,在我在页面上添加控件后,我能够在示例中键入事件的名称, OnClick ,然后键入 =“ Visual Studio向我展示了“create new ...”以及该事件的兼容处理程序列表。

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

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

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

protected void BtnDoSomething_Click(object sender, EventArgs e)
{

}

现在不再显示下拉建议了。

项目编译成功。 我试图重新启动项目,重新启动VS,重新启动PC,打开一个旧项目......没有任何工作。

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

3 个答案:

答案 0 :(得分:1)

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

修改 我已更新到15.7.3版:问题仍然存在

答案 1 :(得分:0)

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

  1. 取消选中选项"允许并行项目初始化" (工具> 选项>项目和解决方案>一般)
  2. 删除项目解决方案文件夹中的.vs文件夹
  3. 重新启动Visual Studio
  4. 逐个禁用所有扩展程序并重新启动VS
  5. 以上都没有效果。

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

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

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

    通过再次添加,其中一个导致intellisense停止工作。 这不是一个真正的问题,因为我只使用样式进行快速和快速测试,所以我会避免它们,但有谁知道为什么?!

答案 2 :(得分:0)

检查您的

CodeBehind="yourwebpagename.aspx.cs"

在页面顶部。