c# - aspx 可重用组件

标签 c# oop asp.net

我不是初学者,但越想这个问题,越为没有找到优雅的解决方案而苦恼。

在编写一个 C# .NET 网站时,我意识到我需要在不同的页面中使用多个组件,它们具有或多或少相同的功能,我想找到一种方法来编写它们一次然后重用。

例如,我在多个页面中使用的搜索框或多个 GridView。 这个“组件”是由几个 ASPX 控件、方法,也许还有一些 JavaScript 等构建的。 它们太复杂而无法复制,而且太具体而无法创建为控件。

您认为编写重用此类元素的最佳方法应该是什么。 这些是我到目前为止找到的解决方案,每个都有自己的缺点:

  1. iframe - 事实上,它的所有问题对我来说都很好(对于搜索框)。我写了一个包含所有搜索行为的 aspx/cs 页面(这很复杂)- 然后在每个我想要这个搜索框的页面上,我添加了一个 iframe。

  2. 母版页 - 我发现这个非常棘手。我发现您可以编写嵌套母版页,但我不知道这对我有什么帮助。母版页方法 - 将子页设置为第一页(调用其 parent 版)。但就我而言,我有包含子组件的主页。

3.UpdatePanel - 我可以使用 UpdatePanel - 并编写一个共享函数,用所需的组件和代码填充它。好的,这可能行得通,但是代码很难维护(您需要使用 C# 手动编写所有组件)

有什么想法吗?我错过了任何微不足道的解决方案吗?

最佳答案

IFrame 不是任何组件组合和重用问题的解决方案。

MasterPages 是与您的问题无关的高级组合工具。

再次强调,UpdatePanel 不是可重用的解决方案。

组成一个UserControl或冲一壶咖啡并学习写 ServerControl .

关于c# - aspx 可重用组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284097/

相关文章:

c# - AADSTS70011 : The provided value for the input parameter 'scope' is not valid

python - 了解类装饰器在 Python 中的工作原理

ASP.NET 如何在运行时设置控件的位置?

c# - 如何将 linq var 数据类型传递给方法?

c# - 从矩阵的每一行和每一列中选择一个元素,求和最小化

c# - MEF 和 ShadowCopying DLL,以便我可以在运行时覆盖它们

Delphi - 从字符串创建类

objective-c - 使用 alloc init 而不是 new

jquery - 在 Ajax 调用期间保持 ASP.Net session 处于事件状态

c# - 代码契约运行时检查异常