代码之家  ›  专栏  ›  技术社区  ›  Chet

如何在Visual Studio 2008中添加ASP.NET的页面事件

  •  9
  • Chet  · 技术社区  · 15 年前

    这是一个关于Visual Studio的问题。我觉得所有有用的智能感知都应该有帮助,但我似乎找不到。

    我在VS2008的ASP.NET C中创建了一个带有代码隐藏的页面,当然它会自动生成一个pageload事件方法。那么,如果我想为除页面加载之外的更多事件添加方法呢?我认为在foo.aspx页面上可能会有一些要添加的方法事件处理程序的列表。难道没有更多的像pageinit,pagedispose,(或equiv)等…?我在哪里能找到这些?

    编辑-我当然可以在API中查找方法名。我正在寻找在Visual Studio中添加这些内容的简便快捷方式。如果它产生了一个,它就不能制造其他的吗?

    6 回复  |  直到 8 年前
        1
  •  26
  •   M4N    8 年前
    • 在解决方案资源管理器中,右键单击页面,然后从上下文菜单中选择“查看组件设计器”。
    • 打开属性面板/窗口(按 F4 )
    • 现在单击黄色箭头/闪光灯图标,您将看到所有页面事件的列表。
    • 双击要为其添加处理程序的事件

    我很确定还有另一种方法(从设计师的角度出发),但我不能复制它。

    我通常不使用页面事件处理程序,而是重写相应的方法(例如 OnLoad 而不是 Page_Load )要实现其中一个重写,只需在代码后面键入“override”,然后按 空间 获取可以重写的方法列表。

        2
  •  3
  •   Scott Ivey    15 年前

    作为查看可用内容的快捷方式,您总是可以键入“page”,然后用intellisense查看列表。你可以选一个,打+= 标签 标签 让它为您生成存根。一旦存根被创建,你就必须删除“page.event+=”行,无论你在哪里创建它。有点矫揉造作,但一旦你掌握了它的窍门,就可以很快地工作。

        3
  •  3
  •   Zhaph - Ben Duguid    15 年前

    和无价的 ReSharper 已安装(可能不工作)我可以键入:

    override
    

    当我点击SpaceIntellisence时,它会弹出一个我可以覆盖的所有事件的列表,比如OnInit、OnPreRender等。

        4
  •  0
  •   chongo    14 年前

    在“源代码”窗口中,从“对象列表”组合框中选择所需的控件(页)。然后从上一个对象列表组合框右侧的事件列表组合框中选择所需的事件。Visual Studio将为您创建事件处理程序。

        5
  •  0
  •   Thomas Fauskanger    9 年前

    如果您不想使用M4N描述的方式,而是通过代码:

    在pagename.aspx.cs中;

    private void InitializeComponent()
    {
    
        // this.LifeCycle += .. // Use intellisense to see alternatives easily
        this.PreRender += new System.EventHandler(this.EventFunctionName);
    
    }
    

    然后在同一个文件中添加:

    private void EventFunctionName(object sender, EventArgs e)
    {
        // Code..
    }
    

    更新(来自Sahuagin的评论): 这不会生成具有适当名称的事件处理程序。事件处理程序必须命名,例如page_load。它将以您的类而不是页面的后面命名,因此它实际上不会连接到您的页面上。

        6
  •  -1
  •   Rob Watts    10 年前

    treescheme.nodes[0].childnodes[0].checked=true;

    treeviewid.node[0].childnodes[0].checked=true;
    

    这将在页面的页面加载事件中设置子节点checked true。

    快乐编码