是否可以将代码隐藏分成多个部分文件?

2024-03-21

我有一个带有 .aspx.cs 代码隐藏的 .aspx Web 表单。隐藏的代码有近 2000 行长,而且已经到了轻松导航的唯一方法就是在各部分之间放置大量空格,缩小以便我可以看到代码的物理外观,并且然后放大我要编辑的地方。换句话说,这是一个很大的痛苦。我想将这 2000 行拆分为代表代码中概念的不同文件。因此,当我需要在页面的“Employee”jquery 选项卡中编辑某些功能时,我可以转到仅包含“Employee”功能的部分类。

在“新建项目”菜单中,我找不到任何附加代码隐藏文件,没有 .aspx.cs 文件。我尝试创建一个 .cs 文件,将其重命名为 .aspx.cs,并为其指定相同的部分类名称 --- 不行,我看不到默认部分类的任何方法,也看不到该部分类上的控件页。

我理解这样一个概念:如果你的“类”(从 OOP 意义上来说)那么长,那么它就做得太多了。我不明白的是网络表单的代码隐藏方面的“类”。该表单无法真正分解为更小的表单——用户体验需要全部发生在一个页面上。


你可以使用部分类 http://msdn.microsoft.com/en-us/library/wa80x488.aspx。所以添加一个新的.cs文件到您的项目并使用分部类。

例如,假设您当前有以下内容Default.aspx.cs file:

public partial class _Default : System.Web.UI.Page
{
    ... some 2000 lines of code
}

您可以将另一个 .cs 文件添加到您的项目中,其中:

public partial class _Default
{
    ... a subset of the 2000 lines of code could be moved here
        in order to isolate some functionality
}

非常重要的是,该分部类在与原始类完全相同的命名空间中声明并具有相同的名称。

但请注意,使用部分类只会隐藏那些狗屎。它不能清洁它。如果你想清理它,你将不得不考虑 OOP 实践来将功能拆分到不同的类中。您应该对您的应用程序进行分层。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将代码隐藏分成多个部分文件? 的相关文章

  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 如何配置 IIS 以接受 POST 请求?

    我知道默认情况下 IIS 不接受发布请求 如何更改此设置 有人可以引导我改变这个 一步一步 吗 如果您使用的是 IIS 6 及更低版本 在 IIS 管理屏幕中右键单击您的网站或虚拟目录 去Properties然后去Home Director
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • 如何在 C# 控制台应用程序中将修饰符(ctrl、alt、shift)按键捕获为单个按键?

    Console ReadKey 仅在按下 正常 键时捕获输入 然后将修饰符 如果有 附加为键信息的一部分 如何将单个修饰键注册为输入 提供了一种解决方案这个链接 https blogs msdn microsoft com toub 200
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 用于多个窗口的 Tkinter 示例代码,为什么按钮无法正确加载?

    我正在编写一个程序 应该 按一下按钮即可打开一个窗口 按另一个按钮关闭新打开的窗口 我使用类 以便稍后可以将代码插入到更大的程序中 但是 我无法正确加载按钮 import tkinter as tk class Demo1 tk Frame
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959

随机推荐

  • iOS 8 - 如何确定前台应用程序以及获取正在运行的应用程序列表

    在 iOS 7 0 及更低版本上 SBFrontmostApplicationDisplayIdentifier来自跳板框架指定了在前台运行的应用程序 但该功能已被阻止 被视为漏洞 请参阅专门针对它的常见漏洞和暴露页面here http c
  • 如何断开 XMPPPY 客户端对象的连接

    使用 XMPPPY 连接到 XMPP 服务器非常简单 from xmpp client import Client as XMPPClient self xmppClient XMPPClient jabber foo com if not
  • 使用 C# 驱动程序时分析 MongoDB 查询

    有没有办法记录 MongoDB C 驱动程序生成并发送到 mongodb 的实际查询 就像在 SQL Server 中一样 您可以使用 SQL Profiler 来显示所有传入的查询 您可以启用分析并按照 pingw33n 的建议在 mon
  • PowerMockito 正在调用真正的方法而不是模拟的私有方法

    我有一个类 它有一个私有方法 并在其主体中调用另一个私有方法 所以我想调用第一个私有方法并模拟第二个 这是一个例子 public class ClassWithPrivateMethod private int count public C
  • 如何使用 argparse 将列表作为命令行参数传递?

    我正在尝试将列表作为参数传递给命令行程序 有没有一个argparse https docs python org 3 library argparse html将列表作为选项传递的选项 parser add argument l list
  • 为什么 Pyglet 不能正确绘制多边形?

    我随机创建点用于使用 Pyglet 绘制多边形 但 Pyglet 大多数时候都不能正确完成工作 好吧 我尝试用另一个图形模块绘制多边形 实际上它有效 但如果 Pyglet 工作正常 它会让我的工作变得更容易 我用它来绘制多边形和点 以方便您
  • 无需插件的 jQuery 链式动画

    在使用 jQuery 之前 我可以做一个带有延迟的链式动画 如下所示 element delay 45 animate 45 delay 45 animate 45 delay 45 animate 45 现在 自从更新到 v1 6 1 以
  • 子查询是邪恶的吗?

    这个问题是在一位朋友的评论之后提出的 他说 当一个查询有很多子查询时 就表明数据库存在设计缺陷 必须避免它们 他还表示 许多书籍都提出了同样的建议 我部分同意 但我认为这些查询具有复杂的逻辑 需要大量子查询 或者为了避免子查询 查询的物化视
  • 带 read 和 IFS 的 Bash while 循环

    我必须解析以下格式的文件 line1 param1 line1 param2 line1 param3 line1 param2 line2 param2 line2 param3 line1 param3 line3 param2 lin
  • 我可以在 python 中“伪造”一个包(或至少一个模块)以用于测试目的吗?

    我想用 python 伪造一个包 我想定义一些东西以便代码可以做 from somefakepackage morefakestuff import somethingfake somefakepackage 是在代码中定义的 其下面的所有
  • 如何处理drive api的最大导出限制大小文件

    我正在尝试下载一些 google doc 文件 但之后我需要使用导出方法转换为 microsoft word mimetype 它工作正常 直到找到一个大小超过 10 mb 的文件 api 文档说这是限制导出文档的大小 但我确实需要下载这些
  • 在 ElasticSearch 中获取 SearchResponse 的结果

    我正在尝试使用 ES 作为我的 MongoDB 的索引 我已经成功地集成了它们 但我发现搜索 API 相当复杂且令人困惑 Java API 也没有太大帮助 我能够找到完全匹配的内容 但是如何才能得到这个结果呢 这是我的代码 Node nod
  • JAX-WS Web 服务线程安全和性能问题

    我从其他一些帖子以及我对 JAX WS Web 服务的理解中了解到它们不是线程安全的 我的 Web 服务将被 100 个客户端调用 我们需要能够每秒处理大约 200 个事务 我的网络服务将与数据库交互以执行其工作 如果我在访问数据库的代码周
  • WebBrowser 控制会话中下载文件

    我在用着WebBrowser control浏览登录页面并下载文件 由于我找不到使用我正在使用的控件自动管理下载的方法WebClient类来尝试实现这一目标 问题是自从WebClient与浏览器不在同一上下文 会话中 我下载的只是安全错误屏
  • 如何使用树表显示 Oracle SQL 表中的所有行?

    我有这张表 为每个区域创建表 id area INT 主键 名称 VARCHAR2 200 id areapadre INT 引用 perarea id area 添加以下内容是为了访问数据 我的目的是创建一个层次结构 在树视图中显示区域及
  • 从 python 中的文本文件中读取特定列

    我有一个文本文件 其中包含一个由数字组成的表格 例如 5 10 6 6 20 1 7 30 4 8 40 3 9 23 1 4 13 6 例如 如果我想要仅包含在第二列中的数字 我如何将该列提取到列表中 f open file r line
  • MPI 中的相同发送和接收缓冲区

    在我的代码中 每个进程都作用于数组的特定部分 我希望每个进程将其处理的部分发送到其他进程 并从其他进程接收其他部分 为此我使用了MPI Allgatherv但我保持发送和接收缓冲区相同 MPI Allgatherv vel 0 localS
  • 如何将自定义的 Firefox 配置文件与 PHPUnit 的 Webdriver 框架结合使用?

    我知道使用 selenium RC 我曾经传递一个命令行操作符 firefoxProfileTemplate 这样就可以了 现在使用 Selenium2 Webdriver 这似乎不再起作用了 由于我正在使用 PHPUnit 进行其他测试
  • AWS Step Functions 是否登录 CloudWatch

    我想知道 AWS 步骤函数执行的输出是否记录在 CloudWatch 日志组中 我是not讨论由 step 函数调用的 lambda 函数的输出 我对状态机本身的输出感兴趣 我问这个问题是因为我们通常将所有日志集中在 loggly 中 以便
  • 是否可以将代码隐藏分成多个部分文件?

    我有一个带有 aspx cs 代码隐藏的 aspx Web 表单 隐藏的代码有近 2000 行长 而且已经到了轻松导航的唯一方法就是在各部分之间放置大量空格 缩小以便我可以看到代码的物理外观 并且然后放大我要编辑的地方 换句话说 这是一个很