gpt4 book ai didi

c# - 两个 ASPX 页面可以继承类背后的相同代码吗?

转载 作者:太空狗 更新时间:2023-10-29 17:41:03 26 4
gpt4 key购买 nike

我刚刚开始学习 ASP.NET。据我了解,ASP.NET 与老式 ASP 的不同之处在于页面的逻辑代码作为单独的文件存在,而不是嵌入到 ASP 页面中。因此,当用户请求像 ShoppingCart.aspx 这样的页面时,服务器会读取顶部的指令 ...

<%@ Page Title="" Language="C#" MasterPageFile="~/Styles/Site.Master" AutoEventWireup="true"
CodeBehind="MyShoppingCart.aspx.cs" Inherits="TailspinSpyWorks.MyShoppingCart" %>

这告诉服务器什么文件和文件中的什么类与页面相关联。代码隐藏类也有成员变量对应页面上的每个控件,为代码隐藏文件中的代码提供了一种操作控件的方法。

首先,我的理解正确吗?

其次,是否可以使用两个具有相同名称控件的独立 ASPX 页面来设置一个站点,这两个页面都有一个指向相同文件和类的指令?你甚至想这样做吗?两个页面可以具有相同的功能但布局不同。我在想这可能是一种创建单独的“桌面”和“移动”页面版本的方法,而无需在代码隐藏文件中复制内容。

我想最终我想知道的是,是否有办法定义抽象页面?假设创建一个抽象页面定义,该定义表示页面必须具有控件“cart_list”、“total_lbl”,但是能够拥有继承自该抽象页面的多个页面?

最佳答案

是的,两个页面可以继承自同一个类。就像它可以直接从 Page 类继承,甚至没有关联的 .cs 文件(当你有一个非静态页面但不处理事件或可能需要代码的东西时很有用-课后)。

在实践中,我认为直接从同一个类继承多个 ASP.NET 页面并不是一个好主意。这并不常见,所以:

  • 代码将更难理解且无法扩展,
  • 将难以在 Visual Studio 中进行管理,尤其是涉及到事件、控件等时。
  • 将对现有/缺失的控件造成很大的痛苦。详见Guffa answer below .

如果您网站的多个页面共享相同的逻辑,

  • 为每个页面创建一个类,并从一个公共(public)父类继承这些类,该父类将包含公共(public)方法和属性,并将继承自 Page 类。您将获得广泛且易于理解的解决方案。
  • 或者创建母版页(如果案例适合母版页)。

关于c# - 两个 ASPX 页面可以继承类背后的相同代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3643988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com