ASP.NET:为什么没有将事件添加到代码隐藏中?

时间:2009-11-17 09:46:54

标签: asp.net events

我在VS 2008中使用aspx页面中的以下Page指令开发了一个ASP.NET网页

我在我的页面中放置了一个asp.net按钮控件,然后双击它来编写一个事件。它在aspx页面中显示事件(方法)。为什么没有添加到aspx.cs文件中?

我已从页面中删除了Inherits属性,因为我想将其部署到具有aspx文件和aspx.cs文件的环境中。 (不是DLL')

3 个答案:

答案 0 :(得分:1)

您可以尝试在Page指令中使用CodeFile代替CodeBehind。但是,在这种情况下,您还需要声明对页面上控件的引用。

如果您不想部署DLL,通常的解决方案是将您的站点构建为Visual Studio“Web站点”而不是“Web应用程序”。使用网站,您可以将所有代码和.aspx文件复制到服务器,在首次访问时将对其进行编译。

答案 1 :(得分:0)

这是因为如果删除Inherits属性,设计器将无法再找到代码中定义的分部类。 CodeBehindInherits属性可以协同工作。

CodeBehind

指定包含与页面关联的类的已编译文件的名称。运行时不使用此属性。

  

包含此属性   与先前版本的兼容性   的ASP.NET,实现   代码隐藏功能。在ASP.NET中   版本2.0,您应该使用   CodeFile属性指定   源文件的名称,以及   Inherits属性指定   完全限定的班级名称。

答案 2 :(得分:0)

尝试此操作(将 namespace.to.my.class 替换为包含 SupplierAnalysis 类定义的命名空间):

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

你需要继承atttibue和CodeBehind。