2009-11-17 113 views
0

我在VS 2008中,在aspx頁面ASP.NET:爲什麼事件沒有被添加到代碼隱藏?

以下Page指令開發了一個ASP.NET網頁,我把一個asp.net按鈕控制在我的網頁,雙點擊它來編寫一個事件。它在aspx頁面顯示事件(方法)。爲什麼它沒有被添加到aspx.cs文件中?

我已經從頁面中刪除了Inherits屬性,因爲我想將它部署到具有aspx文件和aspx.cs文件的環境中。 (不是DLL的)

回答

0

試試這個(含該SupplierAnalysis類定義的命名空間替換namespace.to.my.class):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SupplierAnalysisReport.aspx.cs" Inherits="namespace.to.my.class.SupplierAnalysisReport" %> 

您需要繼承atttibue以及代碼隱藏。

0

這是因爲如果你刪除Inherits屬性,設計者不再能夠找到你的代碼中定義的部分類。 CodeBehindInherits屬性一起工作。

CodeBehind

指定包含與頁關聯的類的編譯文件的名稱。該屬性在運行時不使用。

此屬性是爲了與以前版本的ASP.NET 兼容性,實現 代碼隱藏功能。在ASP.NET 版本2.0中,您應改爲使用 CodeFile屬性來指定源文件的 名稱以及 Inherits屬性以指定 的全限定名稱。

1

您可能會嘗試在Page指令中使用CodeFile而不是CodeBehind。但是,在這種情況下,您還需要聲明對頁面上控件的引用。

如果您不想部署DLL,通常的解決方案是將您的網站構建爲Visual Studio「網站」而不是「Web應用程序」。通過一個網站,您可以將所有代碼和.aspx文件複製到服務器,在第一次訪問時它們將被編譯。