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

相关问题