错误BC30456:'[方法]'不是'ASP。[Code Behind] aspx'的成员

时间:2012-06-21 21:33:43

标签: asp.net vb.net visual-studio-2010 web-applications

非常简单的问题。我很确定我有正确的Class,method,codebehind等链接。很多在线帖子说这​​与编译和/或dll / bin文件有关,但他们的帮助都没有对我有用。

Compiler Error Message: BC30456: 'gvLegs_PageIndexChanging' is not a member of 'ASP.nestedgridview_aspx'.

Source Error:

Line 43:    <asp:Label ID="lblEmpName" runat="server" Text='<%# Eval("Location")%>'></asp:Label>
Line 44:    <asp:Literal runat="server" ID="lit1" Text="</td><tr id='trCollapseGrid' style='display:none' ><td colspan='5'>" />
Line 45:    <asp:GridView ID="gvLegs" AutoGenerateColumns="False" runat="server" EnableViewState="False"
Line 46:    DataKeyNames="EmployeeId" ForeColor="#333333" PageSize="4" AllowPaging="True"
Line 47:    OnPageIndexChanging="gvLegs_PageIndexChanging">
Source File: C:\Users\tstanley\Desktop\NestedVB\NestedVB\NestedGridView.aspx    Line: 45 

NestedGridView.aspx

<%@ Page Language="vb" AutoEventWireup="false" codebehind="NestedGridView.aspx.vb" Inherits="NestedVB.NestedGridViewPaging2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

NetedGridView.aspx.vb [Code Behind] ...

 Private Sub gvLegs_PageIndexChanging(sender As Object, e As GridViewPageEventArgs)

如果有人对此有解决方法,它会对我有很大帮助,所以我可以继续....调试实际代码lol。

1 个答案:

答案 0 :(得分:10)

gvLegs_PageIndexChanging是私有的,但需要受到保护或公开。

由于您使用的是VB.NET,因此您也可以使用handles clause

Private Sub gvLegs_PageIndexChanging(sender As Object, e As GridViewPageEventArgs) _
    Handles gvLegs.PageIndexChanging
End Sub

编辑:为了清楚起见,ASP.NET中有三个用VB.NET选项来创建事件处理程序:

  1. 以声明方式在aspx上
  2. 代码中的
  3. handles clause
  4. with AddHandler(主要用于VB.NET中的动态控件)
  5. 如果使用选项1,则事件处理程序必须至少受到保护,因为aspx页面继承自代码隐藏类。

    如果使用选项2,则该方法可以是私有的,但您需要删除aspx上的声明性事件处理程序。