C# Visual Studio web用户控件事件仅在设计模式下显示?

C# Visual Studio web用户控件事件仅在设计模式下显示?,c#,visual-studio,events,C#,Visual Studio,Events,调用所有Visual Studio专家-当我在c web项目中处理.ascx或.aspx文件时,除非我从代码视图切换到设计视图,否则事件不会显示在属性面板中。这是VisualStudio的故意功能吗?VS2005和VS2008似乎都是这样工作的 有没有办法让事件始终显示在“属性”面板中?是的,Visual Studio就是这样工作的。这无助于您在“属性”面板中查看它们,但您可以通过在“代码隐藏”中键入以下内容来获取事件列表: 这个。智能感知应该给你一个列表 我通常做的是重写OnInit方法并将所

调用所有Visual Studio专家-当我在c web项目中处理.ascx或.aspx文件时,除非我从代码视图切换到设计视图,否则事件不会显示在属性面板中。这是VisualStudio的故意功能吗?VS2005和VS2008似乎都是这样工作的


有没有办法让事件始终显示在“属性”面板中?

是的,Visual Studio就是这样工作的。这无助于您在“属性”面板中查看它们,但您可以通过在“代码隐藏”中键入以下内容来获取事件列表:

这个。智能感知应该给你一个列表

我通常做的是重写OnInit方法并将所有事件处理程序映射放在其中。所以它看起来像这样:

override protected void OnInit(EventArgs e)
{
  this.Load += new System.EventHandler(this.Page_Load);
  this.myButton.Click += new System.EventHandler(this.myButton_Click);

  base.OnInit(e);
}

如果您使用intellisense执行此操作,那么只要输入+=您就可以选择自动完成该行以及事件处理程序方法的签名。

是,我希望我们拥有与WPF类似的事件自动完成级别,您可以在IntelliSense中看到事件名称,并让它在代码隐藏中自动为您创建一个新的存根事件:

我不知道VS是否打算这样工作,但是的,这是一个限制。如果您注意到有时单击控件并按F4键或单击“属性”选项卡无法加载正确控件的属性,那么您必须从列表中选择它

叹息

除此之外,如果您自己创建一个usercontrol,并给它一个事件,那么当您将该事件放在页面上时,它将不会显示在properties选项卡中。您必须在Page_Init事件中手动捕获它,如fallen888所示

这些天来,我不必去“属性”选项卡查看事件。您也可以在标记中键入事件名称,然后将其写入代码隐藏文件