我可以在一个网页中查看两个单独的aspx文件吗

本文关键字:单独 两个 aspx 文件 一个 网页 我可以 | 更新日期: 2023-09-27 18:22:11

我有一个问题,我有两个页面处理非常相似的事情,因此它们的许多方法和aspx服务器控件都有相同的方法名和变量。简而言之,很明显,代码是被复制/粘贴的,内部只是被修改了。我有一个悬而未决的请求,要求合并这两个页面,所以我已经探讨了如何最好地合并它们的许多选项。

首先,我想也许我可以把其中一个页面放在母版页中,这样我就可以把代码/控件放在内容占位符中,但一旦我开始制定计划,这似乎是个坏主意。首先,相似的名称可能仍然是一个问题,其次,将两个页面合并在一起似乎是一种相当笨拙的方法。

我已经考虑过重命名所有的方法和控件,但另一方面,重新命名代码和控件需要花费大量时间。我担心的是,如果我试图更改有问题的方法名、控件、ID,我会在代码中引入很多错误。

有没有更好的方法在一个网页中查看两个页面?

我可以在一个网页中查看两个单独的aspx文件吗

您可以使用iFrame执行此操作。但我认为使用.net控件(.ascx文件)可以更好地维护网站,然后在新页面中调用它们

那个东西叫做user control

UserControl类
阅读此官方教程

我认为有3个选项对您有效:1.将所有常见内容放在用户控件中,并在两个页面中使用。这是最直接的解决方案,也是用户控件存在的主要原因——UI和代码背后的重用。这很可能是最好的选择。2.有一个包含所有常用方法的实用程序类。此解决方案的缺点是,您将只共享代码,而不共享UI。3.您可以有一个继承自Page的BasePage,也可以让两个页面都继承自BasePage。同样,您将只共享代码,而不是UI。当你想为所有网页添加一些功能时,这通常是一个很好的解决方案。

如果是ASP.Net Web表单,您是否签出了嵌套母版页,而不仅仅是一个MastPage?

如果你有一个通用的主题或布局,它位于BaseMasterPage中,你的嵌套MasterPage然后公开下一组页面(你引用的层)之间通用的通用UI控件、事件处理程序等,你的最终ASPX页面然后公开ASPX页面、UI控件,每个独特页面的事件等。

通过使用@MasterType页面声明,您的ASPX页面具有对一个或所有MasterPage的强类型引用,这将允许ASPX页面轻松访问通用MasterPage的方法和属性。