ASP.Net用户控制 - VS事件连线

时间:2009-09-21 18:59:06

标签: asp.net user-controls event-handling

所以我有一个自定义用户控件。我有一个事件(SelectionChanged),我想要有谁使用我的控件来执行以下操作来连接事件:

  1. 将控件拖到页面
  2. 在设计师模式下,点击控件
  3. 查看控件事件处理程序(来自属性窗口)
  4. 找到SelectionChanged事件
  5. 双击并让visual studio在aspx页面上创建函数后面的代码和连线。
  6. 我如何完成这项工作?我有控件设置,以便用户可以手动输入事件连接和代码隐藏事件,但我希望Visual Studio执行此操作。

    目前,当开发人员放弃对页面的控制时,他们可以点击它并查看属性但没有可用的事件(闪电甚至不存在)。


    我的活动是公开的。他们在这里:

    public delegate void SelectionChangedDelegate(object sender, SelectionChangedEventArgs e);
    public event SelectionChangedDelegate SelectionChangedEvent;
    

1 个答案:

答案 0 :(得分:2)

我不明白雷电是不是在那里。您的控件是继承自System.Web.UI.HtmlControls.HtmlControl还是System.Web.UI.Control还是来自另一个派生控件?

如果您继承其中一个控件,则应在属性窗口中看到继承的事件。

闪电不存在的事实让我相信你不是从一个控制类继承。

修改 好吧,你不会喜欢这个。 UserControl的行为与WebControl不同。因此,VS编辑器不会对事件进行连接。

如果事件连线对您很重要(如果这将是一个售出的库),我建议您将控件重写为WebControl。这将要求您以编程方式在CreateChildControls覆盖方法中添加所有控件。

您也可以将UserControl包装在WebControl中,然后冒泡出所有事件。

祝你好运!