【问题标题】:ASP.NET : Why Event is not being added to codebehind?ASP.NET:为什么没有将事件添加到代码隐藏中?
【发布时间】:2009-11-17 18:05:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net events


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      您需要 Inherits atttibue 以及 CodeBehind。

      【讨论】:

        【解决方案3】:

        这是因为如果您删除 Inherits 属性,设计器将不再能够找到在您的代码中定义的部分类。 CodeBehindInherits 属性一起工作。

        CodeBehind:

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

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

        【讨论】:

          猜你喜欢
          • 2014-05-29
          • 1970-01-01
          • 2022-11-22
          • 2012-02-29
          • 1970-01-01
          • 2012-01-02
          • 2021-01-18
          • 2014-09-13
          • 2013-02-19
          相关资源
          最近更新 更多