我在VS 2008中,在aspx頁面ASP.NET:爲什麼事件沒有被添加到代碼隱藏?
以下Page指令開發了一個ASP.NET網頁,我把一個asp.net按鈕控制在我的網頁,雙點擊它來編寫一個事件。它在aspx頁面顯示事件(方法)。爲什麼它沒有被添加到aspx.cs文件中?
我已經從頁面中刪除了Inherits屬性,因爲我想將它部署到具有aspx文件和aspx.cs文件的環境中。 (不是DLL的)
我在VS 2008中,在aspx頁面ASP.NET:爲什麼事件沒有被添加到代碼隱藏?
以下Page指令開發了一個ASP.NET網頁,我把一個asp.net按鈕控制在我的網頁,雙點擊它來編寫一個事件。它在aspx頁面顯示事件(方法)。爲什麼它沒有被添加到aspx.cs文件中?
我已經從頁面中刪除了Inherits屬性,因爲我想將它部署到具有aspx文件和aspx.cs文件的環境中。 (不是DLL的)
試試這個(含該SupplierAnalysis類定義的命名空間替換namespace.to.my.class):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SupplierAnalysisReport.aspx.cs" Inherits="namespace.to.my.class.SupplierAnalysisReport" %>
您需要繼承atttibue以及代碼隱藏。
這是因爲如果你刪除Inherits
屬性,設計者不再能夠找到你的代碼中定義的部分類。 CodeBehind
和Inherits
屬性一起工作。
指定包含與頁關聯的類的編譯文件的名稱。該屬性在運行時不使用。
此屬性是爲了與以前版本的ASP.NET 兼容性,實現 代碼隱藏功能。在ASP.NET 版本2.0中,您應改爲使用 CodeFile屬性來指定源文件的 名稱以及 Inherits屬性以指定 的全限定名稱。
您可能會嘗試在Page指令中使用CodeFile
而不是CodeBehind
。但是,在這種情況下,您還需要聲明對頁面上控件的引用。
如果您不想部署DLL,通常的解決方案是將您的網站構建爲Visual Studio「網站」而不是「Web應用程序」。通過一個網站,您可以將所有代碼和.aspx文件複製到服務器,在第一次訪問時它們將被編譯。