2015-10-20 39 views
0

所以我新的匹配使用asp.net用VB.NET和我遇到了此問題:確保此代碼文件中定義的類「繼承」屬性進口

Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).

Source Error:

Line 1: Imports System.Data.SQLite

Line 2: Imports System.Diagnostics

Source File: C:\Projects\HousingInfo\HousingInfo\SQLiteDatabase.aspx.vb Line: 1

我從我所有的谷歌上搜索認爲它有事情做這一行:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="SQLiteDatabase.aspx.vb" Inherits="SQLiteDatabase" %>

這是數據庫的代碼:

Imports System.Data.SQLite 
Imports System.Diagnostics 

Public Class SQLiteDatabase 
Private Shared dbConnection As String 

Public Sub New() 
    dbConnection = "Data Source=housingInfo.db" 
    CreateTables() 
End Sub 

Public Sub New(file) 
    dbConnection = String.Format("Data Source={0}", file) 
    CreateTables() 
End Sub 

<System.Web.Services.WebMethod()> 
Public Shared Function CreateTables() 
    Debug.WriteLine("Creating Tables") 
    Dim connection = New SQLiteConnection(dbConnection) 
    connection.Open() 
    Try 
     Dim stm As String = "CREATE TABLE IF NOT EXISTS houses(id INTEGER PRIMARY KEY AUTOINCREMENT, address TEXT, city TEXT, state TEXT, rented INTEGER)" 
    Catch ex As Exception 
     MsgBox("Can't create table: " & ex.Message) 
    End Try 
    Return Nothing 
End Function 
End Class 

我很困惑。我的代碼中沒有導入語句嗎?

+0

你是不是繼承的Page或UserControl -class,只是作爲錯誤信息的狀態。添加繼承頁與 – Esko

回答

1

ASP.NET「pages」必須從PageUserControl或繼承自層次結構中某個點的類的類繼承。你是「繼承」的SQLiteDatabase類,這既不是Page也不是UserControl

通常,這是由設計師爲你做,所以要麼你寫一切從頭開始,或者你已經改變了標記從不同的類繼承。

+0

類我加'繼承Page'我.aspx.vb文件,但由於某種原因,我仍然無法獲取客戶端調用服務器端。這裏的JavaScript代碼段: <腳本類型= '文本/ JavaScript的'> 功能CreateTables(){ PageMethods.CreateTables(); } – Michael

+0

@MichaelWang你沒有一個代碼隱藏類從'Page'繼承已經定義了'CreateTables'方法?聽起來你要麼嘗試自己學習,要麼學習不好的教程。除非你知道自己在做什麼,否則你不應該隨便使用'Inherits'標籤。 –

相關問題