473,378 Members | 1,671 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

Noob -- BC30002: Type 'Table' is not defined.

CJM
I'm finally taking my first few steps with ASP.NET, and I'm just workign my
way through some of the basics.

As a vehicle for my learning, I'm re-writing a simple report page for on of
my ASP applications.

I have two tables on this page. One is where the user requests a report for
a given ID number, the second is the table of result. Obviously I dont want
to show the results table until the query has been submitted, so I'm trying
to hide the table until IsPostBack = True.

As I understand it, I must declare the page controls, e.g. my tables, before
I can manipulate them in the CodeBehind page. I've done this but clearly I
am missing something because I am getting this error: BC30002: Type 'Table'
is not defined.

Thanks in advance

Chris

Code Snippets:

viewta.2aspx.vb:
Public Class viewta2
Inherits System.Web.UI.Page

Protected WithEvents tblResults As Table
Protected WithEvents tblRequest As Table
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If IsPostBack Then
'Hide Search button
tblResults.Visible = True
tblRequest.Visible = False
Else
'Hide(results)
tblResults.Visible = False
tblRequest.Visible = True
End If

End Sub

End Class
viewta2.aspx:
<%@ Page Inherits="viewta2" src="viewta2.aspx.vb" %>
<script runat="server">

Sub Page_Load
If Not IsPostBack Then
lblTANumber.visible=false
End If
End Sub

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>viewta2</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="TADB.css" type="text/css">
</head>
<body MS_POSITIONING="GridLayout">

<form id="frmReport" method="post" runat="server">
<table id="tblRequest" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th colspan="2">View TA Details</th>
</tr>
<tr>
<td>TA Number:</td>
<td><asp:TextBox ID="txtTANumber" MaxLength="10" Runat="server"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><asp:Button ID="cmdSearch" Text="Search" Runat="server"/></td>
</tr>
</table>
<table id="tblResults" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th>TA Number:</th>
<th><asp:Label ID="lblTANumber" Width="10" Runat="server"/></th>
</tr>
<tr>
<td>PO Number:</td>
<td><asp:Label ID="lblPONumber" Runat="server"/></td>
</tr>
<tr>
<td>PO Line:</td>
<td><asp:Label ID="lblPOLine" Runat="server"/></td>
</tr>
<tr>
<td>Part No:</td>
<td><asp:Label ID="lblPartNo" Runat="server"/></td>
</tr>
<tr>
<td>Part XRef:</td>
<td><asp:Label ID="lblPartXRef" Runat="server"/></td>
</tr>
<tr>
<td>Description:</td>
<td><asp:Label ID="lblDescText" Runat="server"/></td>
</tr>
<tr>
<td>Quantity Rec'd:</td>
<td><asp:Label ID="lblQuantityRecd" Runat="server"/></td>
</tr>
<tr>
<td>Advice Note:</td>
<td><asp:Label ID="lblAdviceNote" Runat="server"/></td>
</tr>
<tr>
<td>Supplier ID:</td>
<td><asp:Label ID="lblSuppierID" Runat="server"/></td>
</tr>
<tr>
<td>Cert/Cast No:</td>
<td><asp:Label ID="lblCastNo" Runat="server"/></td>
</tr>
<tr>
<td>Date Rec'd:</td>
<td><asp:Label ID="lblDateRecd" Runat="server"/></td>
</tr>
</table>
</form>

</body>
</html>
Nov 18 '05 #1
7 2285
You haven't given it enough information about the class you're creating an
instance of. Try something like:

Protected WithEvents tblResults As System.Web.UI.WebControls.Table

Toby Mathews

"CJM" <cj*******@newsgroups.nospam> wrote in message
news:ei**************@TK2MSFTNGP09.phx.gbl...
I'm finally taking my first few steps with ASP.NET, and I'm just workign my way through some of the basics.

As a vehicle for my learning, I'm re-writing a simple report page for on of my ASP applications.

I have two tables on this page. One is where the user requests a report for a given ID number, the second is the table of result. Obviously I dont want to show the results table until the query has been submitted, so I'm trying to hide the table until IsPostBack = True.

As I understand it, I must declare the page controls, e.g. my tables, before I can manipulate them in the CodeBehind page. I've done this but clearly I
am missing something because I am getting this error: BC30002: Type 'Table' is not defined.

Thanks in advance

Chris

Code Snippets:

viewta.2aspx.vb:
Public Class viewta2
Inherits System.Web.UI.Page

Protected WithEvents tblResults As Table
Protected WithEvents tblRequest As Table
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If IsPostBack Then
'Hide Search button
tblResults.Visible = True
tblRequest.Visible = False
Else
'Hide(results)
tblResults.Visible = False
tblRequest.Visible = True
End If

End Sub

End Class
viewta2.aspx:
<%@ Page Inherits="viewta2" src="viewta2.aspx.vb" %>
<script runat="server">

Sub Page_Load
If Not IsPostBack Then
lblTANumber.visible=false
End If
End Sub

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>viewta2</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link rel="stylesheet" href="TADB.css" type="text/css">
</head>
<body MS_POSITIONING="GridLayout">

<form id="frmReport" method="post" runat="server">
<table id="tblRequest" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th colspan="2">View TA Details</th>
</tr>
<tr>
<td>TA Number:</td>
<td><asp:TextBox ID="txtTANumber" MaxLength="10" Runat="server"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><asp:Button ID="cmdSearch" Text="Search" Runat="server"/></td>
</tr>
</table>
<table id="tblResults" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th>TA Number:</th>
<th><asp:Label ID="lblTANumber" Width="10" Runat="server"/></th>
</tr>
<tr>
<td>PO Number:</td>
<td><asp:Label ID="lblPONumber" Runat="server"/></td>
</tr>
<tr>
<td>PO Line:</td>
<td><asp:Label ID="lblPOLine" Runat="server"/></td>
</tr>
<tr>
<td>Part No:</td>
<td><asp:Label ID="lblPartNo" Runat="server"/></td>
</tr>
<tr>
<td>Part XRef:</td>
<td><asp:Label ID="lblPartXRef" Runat="server"/></td>
</tr>
<tr>
<td>Description:</td>
<td><asp:Label ID="lblDescText" Runat="server"/></td>
</tr>
<tr>
<td>Quantity Rec'd:</td>
<td><asp:Label ID="lblQuantityRecd" Runat="server"/></td>
</tr>
<tr>
<td>Advice Note:</td>
<td><asp:Label ID="lblAdviceNote" Runat="server"/></td>
</tr>
<tr>
<td>Supplier ID:</td>
<td><asp:Label ID="lblSuppierID" Runat="server"/></td>
</tr>
<tr>
<td>Cert/Cast No:</td>
<td><asp:Label ID="lblCastNo" Runat="server"/></td>
</tr>
<tr>
<td>Date Rec'd:</td>
<td><asp:Label ID="lblDateRecd" Runat="server"/></td>
</tr>
</table>
</form>

</body>
</html>

Nov 18 '05 #2
PS Syntax may not be exact, I'm a C# person!

"Toby Mathews" <to***************@yahoo.spamfree.co.uk> wrote in message
news:cf**********@thorium.cix.co.uk...
You haven't given it enough information about the class you're creating an
instance of. Try something like:

Protected WithEvents tblResults As System.Web.UI.WebControls.Table

Toby Mathews

"CJM" <cj*******@newsgroups.nospam> wrote in message
news:ei**************@TK2MSFTNGP09.phx.gbl...
I'm finally taking my first few steps with ASP.NET, and I'm just workign

my
way through some of the basics.

As a vehicle for my learning, I'm re-writing a simple report page for on

of
my ASP applications.

I have two tables on this page. One is where the user requests a report

for
a given ID number, the second is the table of result. Obviously I dont

want
to show the results table until the query has been submitted, so I'm

trying
to hide the table until IsPostBack = True.

As I understand it, I must declare the page controls, e.g. my tables,

before
I can manipulate them in the CodeBehind page. I've done this but clearly I am missing something because I am getting this error: BC30002: Type

'Table'
is not defined.

Thanks in advance

Chris

Code Snippets:

viewta.2aspx.vb:
Public Class viewta2
Inherits System.Web.UI.Page

Protected WithEvents tblResults As Table
Protected WithEvents tblRequest As Table
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If IsPostBack Then
'Hide Search button
tblResults.Visible = True
tblRequest.Visible = False
Else
'Hide(results)
tblResults.Visible = False
tblRequest.Visible = True
End If

End Sub

End Class
viewta2.aspx:
<%@ Page Inherits="viewta2" src="viewta2.aspx.vb" %>
<script runat="server">

Sub Page_Load
If Not IsPostBack Then
lblTANumber.visible=false
End If
End Sub

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>viewta2</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta http-equiv="Content-Type" content="text/html;

charset=ISO-8859-1">
<link rel="stylesheet" href="TADB.css" type="text/css">
</head>
<body MS_POSITIONING="GridLayout">

<form id="frmReport" method="post" runat="server">
<table id="tblRequest" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th colspan="2">View TA Details</th>
</tr>
<tr>
<td>TA Number:</td>
<td><asp:TextBox ID="txtTANumber" MaxLength="10" Runat="server"/></td> </tr>
<tr>
<td>&nbsp;</td>
<td><asp:Button ID="cmdSearch" Text="Search" Runat="server"/></td>
</tr>
</table>
<table id="tblResults" class="tbl centered" cellspacing="0"
runat="server">
<tr>
<th>TA Number:</th>
<th><asp:Label ID="lblTANumber" Width="10" Runat="server"/></th>
</tr>
<tr>
<td>PO Number:</td>
<td><asp:Label ID="lblPONumber" Runat="server"/></td>
</tr>
<tr>
<td>PO Line:</td>
<td><asp:Label ID="lblPOLine" Runat="server"/></td>
</tr>
<tr>
<td>Part No:</td>
<td><asp:Label ID="lblPartNo" Runat="server"/></td>
</tr>
<tr>
<td>Part XRef:</td>
<td><asp:Label ID="lblPartXRef" Runat="server"/></td>
</tr>
<tr>
<td>Description:</td>
<td><asp:Label ID="lblDescText" Runat="server"/></td>
</tr>
<tr>
<td>Quantity Rec'd:</td>
<td><asp:Label ID="lblQuantityRecd" Runat="server"/></td>
</tr>
<tr>
<td>Advice Note:</td>
<td><asp:Label ID="lblAdviceNote" Runat="server"/></td>
</tr>
<tr>
<td>Supplier ID:</td>
<td><asp:Label ID="lblSuppierID" Runat="server"/></td>
</tr>
<tr>
<td>Cert/Cast No:</td>
<td><asp:Label ID="lblCastNo" Runat="server"/></td>
</tr>
<tr>
<td>Date Rec'd:</td>
<td><asp:Label ID="lblDateRecd" Runat="server"/></td>
</tr>
</table>
</form>

</body>
</html>


Nov 18 '05 #3
CJM
Toby,

Seem you were on the right lines...

I'm working from example in "ASP Unleashed" where "Protected WithEvents
lblMessage as Label" was used... I wonder is their code wrong or are they
using some shortcut method?

Anyway, at first I changed to System.Web.UI.WebControls.Table... but this
meant I had to change all my <table>, <tr>, <th> and <td> tags needed to be
changed!

So I've opted for System.Web.UI.HtmlControls.HtmlTable - I know I'm missing
out on functionality, but I can't imagine I'm missing that much!

Cheers

Chris

[Addendum: I noticed that I can add Imports directives (eg Imports
System.Web.UI.HtmlControls) to allow shortcut declarations (eg. Protected
WithEvents tblResults As HtmlTable)]
"Toby Mathews" <to***************@yahoo.spamfree.co.uk> wrote in message
news:cf**********@thorium.cix.co.uk...
You haven't given it enough information about the class you're creating an
instance of. Try something like:

Protected WithEvents tblResults As System.Web.UI.WebControls.Table

Toby Mathews

Nov 18 '05 #4
Chris,

Yes, you can use Inherits to get the class to inherit everything from
another class like this:

Inherits System.Web.UI.WebControls

like the line:

Inherits System.Web.UI.Page

you already have in your code (this inherits all the methods, classes etc of
the Page class, making them available from within your code without having
to type out everything from System up each time).

Hope this helps,

Toby

"CJM" <cj*******@newsgroups.nospam> wrote in message
news:u0**************@tk2msftngp13.phx.gbl...
Toby,

Seem you were on the right lines...

I'm working from example in "ASP Unleashed" where "Protected WithEvents
lblMessage as Label" was used... I wonder is their code wrong or are they
using some shortcut method?

Anyway, at first I changed to System.Web.UI.WebControls.Table... but this
meant I had to change all my <table>, <tr>, <th> and <td> tags needed to be changed!

So I've opted for System.Web.UI.HtmlControls.HtmlTable - I know I'm missing out on functionality, but I can't imagine I'm missing that much!

Cheers

Chris

[Addendum: I noticed that I can add Imports directives (eg Imports
System.Web.UI.HtmlControls) to allow shortcut declarations (eg. Protected
WithEvents tblResults As HtmlTable)]
"Toby Mathews" <to***************@yahoo.spamfree.co.uk> wrote in message
news:cf**********@thorium.cix.co.uk...
You haven't given it enough information about the class you're creating an instance of. Try something like:

Protected WithEvents tblResults As System.Web.UI.WebControls.Table

Toby Mathews


Nov 18 '05 #5
HI Chris,

Since the ASP.NET has two set of controls Html SErver controls and
WEbserver controls, it's better that we declare a control as its full name.
And generally, if you don't need to create control from the html template
such as
<table runat=server> ...

Here are the related document in msdn:
You can just use the WebControls since that also provide better
encapsulation and flexibility.
#Introduction to ASP.NET Server Controls
http://msdn.microsoft.com/library/de...us/vbcon/html/
vbconintroductiontowebformscontrols.asp

#HTML Server Controls
http://msdn.microsoft.com/library/de...us/cpgenref/ht
ml/cpconASPSyntaxForHTMLControls.asp

Hope also helps. thanks.

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Get Preview at ASP.NET whidbey
http://msdn.microsoft.com/asp.net/whidbey/default.aspx

Nov 18 '05 #6
CJM
I thought I'd reade somewhere that certain classes were automatically
inherited, but it appears not.

But it working fine now... well I'm on to my next problem actually, but I
can successfully manipulate the page controls from the form-behind page now,
thanks.

I would say, that for simple pages, there seem to be an awful lot of work to
do in comparison with ASP/PHP. I know that ultimately .NET is more powerful,
but for the simple stuff, there seems to be a lot of work to do...
Importing, inheriting, declaring form controls etc, etc...

Thanks anyway

Chris

"Steven Cheng[MSFT]" <v-******@online.microsoft.com> wrote in message
news:NA*************@cpmsftngxa06.phx.gbl...
HI Chris,

Since the ASP.NET has two set of controls Html SErver controls and
WEbserver controls, it's better that we declare a control as its full name. And generally, if you don't need to create control from the html template
such as
<table runat=server> ...

Here are the related document in msdn:
You can just use the WebControls since that also provide better
encapsulation and flexibility.
#Introduction to ASP.NET Server Controls
http://msdn.microsoft.com/library/de...us/vbcon/html/ vbconintroductiontowebformscontrols.asp

#HTML Server Controls
http://msdn.microsoft.com/library/de...us/cpgenref/ht ml/cpconASPSyntaxForHTMLControls.asp

Nov 18 '05 #7
Hi Chris,
Thanks for the followup. As for the ASP.NET web page, if the page is not
very complex, we can just use a aspx page which has functions inline rather
than provide a codebehind model. Here are some reference on this:

#Should I use Code-behind or Code-Inside (or Code-beside)?
http://msdn.microsoft.com/asp.net/co...e/default.aspx

#Web Forms Code Model
http://msdn.microsoft.com/library/de...us/vbcon/html/
vbconwebformscodemodel.asp

Thanks.

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Get Preview at ASP.NET whidbey
http://msdn.microsoft.com/asp.net/whidbey/default.aspx

Nov 18 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: B R | last post by:
Hi, I am trying to use System.DirectoryServices for quering Active Directory, I am getting the following error Compiler Error Message: BC30002: Type 'DirectoryEntry' is not defined. Why I...
0
by: Jim Hansen | last post by:
I re-installed Framework and now I am getting this error ClassBrowser. Most other page work just fine. Additionally, the debugger will not start from Visual Studio 2003.. Compilation Error...
0
by: Nuve | last post by:
I followed the instructions on the Microsoft article (http://support.microsoft.com/default.aspx?scid=kb;en- us;326340) on HOW TO: Authenticate against the Active Directory by Using Forms...
0
by: ADE | last post by:
Hi, I am compiling my ASP.NET /VB.NET code without any errors But on running the .aspx file on the browser i m getting an error like BC30002 type <classname> not defined.I am getting a similar...
2
by: Jason Callas | last post by:
I have a simple class written in vb.net: 'SongsDb.vb Imports System.Configuration Imports System.Data Imports Microsoft.Data.Odbc Namespace AquehongaPortal Public Class SongsDb Public...
2
by: David Lozzi | last post by:
This script is in the code-behind. This is a repost of a reply in "Name 'IsNumeric' is not declared??'. I wanted to post it under a different subject. Type 'EventArgs' is not defined at Sub...
4
by: Gina | last post by:
I get this error: BC30002: Type 'Intranet.dsScreenShow' is not defined. My page works on my machine but when put on the server I get the above error. Any ideas why? PS Intranet is my namspace....
0
by: =?Utf-8?B?amFzbGVndW1l?= | last post by:
The error Compiler Error Message: BC30002: Type 'CUNAMutual.CorporateComponents.PageTemplate' is not defined. I have some corporate components that are used as styles for page uniformity. ...
1
by: JoeP | last post by:
Hi All, I have class named xRep.vb located at the App_Code folder. The below works just fine under the Visual Studio environment, but when running this code from the web server I am getting this...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.