我在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文件复制到服务器,在第一次访问时它们将被编译。