两个.aspx页面使用相同的.cs文件,好主意?

Ham*_*han 1 .net asp.net code-reuse

这里有类似的帖子.我只想澄清一些事情.我在测试项目中实现了这一点.我创建了两个页面page1.aspx和page.aspx是除名称之外的彼此的副本.我对它们进行了配置,以便它们使用相同的后端编码文件.

page1.axpx - > page.aspx.cs page2.aspx - >(上面的代码)

我的问题是,

  1. 是避免额外代码和增强维护是一个好主意吗?

  2. 虽然每个人都在上面的测试项目中工作.在我的实际项目中,我得到了这个非常常见的错误

当前上下文asp中不存在名称"xxxx"

由于上述错误,代码将无法编译.如果我从浏览器运行应用程序,它确实有效(或似乎是).我的问题是,为什么我没有在一个应用程序中而不是另一个应用程序中收到此错误.此问题现已修复.但是想知道为什么我首先得到这个错误,然后在这里和那里玩它,错误就消失了.

我相信这确实是微软的错误.怎么样?我在这里解释一下.

Page1.aspx.cs实际上是使用Page.aspx页面而不是page1.aspx控件.intellisence只显示Page1.aspx控件(如果你将控件添加到page2,它不会显示在intellesense中,如果你将它添加到Page1,它将被显示).由于两个页面上的控件完全相同(包括名称和ID),因此它们奇迹般地起作用.有时编译器不喜欢它并且会给你错误(没有明显的原因).微软应该更优雅地解决这些问题,而不是把它扔给我们.

所以它解决了我,但任何人都可以解释这种神秘的行为.

Muh*_*tar 8

最好将这些东西放在一个用户控件中,并在两个页面中使用该用户控件.这样做可以很容易地进行维护.