在Visual Studio中制作现有ASPX页面的重复副本的最佳方法

时间:2011-04-04 20:55:39

标签: c# visual-studio-2010 webforms

在Visual Studio中的Web项目中创建现有ASPX页面副本的最佳方法是什么?

如果我右键单击解决方案资源管理器中的ASPX文件并选择复制,然后粘贴,它看起来就像我期待的那样。我得到了ASPX文件的新副本和文件背后的代码。然后,我可以重命名ASPX文件,并重命名文件后面的代码。

看起来不错,直到我打开ASPX文件。然后我看到它与原始文件具有相同的“Inherits”标记,并且它指向原始类名。

我有什么遗失的东西吗?我意识到我可以手动编辑这个,以及文件背后的代码(因为它们声明了相同的类名,这会导致构建错误)。有没有更好的方法来做到这一点,或者我应该只是起来并开始做一些手工工作? : - )

5 个答案:

答案 0 :(得分:9)

我几乎总是创建一个全新的页面,然后只需复制“guts”(留下页面指令信息,名称空间等),然后在一些查找和替换之后,如果需要的话。

答案 1 :(得分:8)

以下适用于VS 2013

  1. 使用VS右键复制\粘贴复制并粘贴所需的aspx页面。
  2. 使用右键单击'重命名'
  3. 重命名aspx页面
  4. 将aspx页面顶部的Inherits标记更改为新名称。 (注意 - 不是所有角色都允许)。
  5. 查看代码。
  6. 更改Class的名称以匹配步骤3中的Inherits标记。

答案 2 :(得分:2)

我认为Resharper有一个'重复'重构,也适用于ASPX。默认快捷方式应为Ctrl-D

答案 3 :(得分:1)

我想出来了 - 所以不需要答案,但我要离开这里,因为我认为其他人可能觉得它很有用。

我所做的是打开一个aspx页面aspx.designer.vb文件(它们对于我的相同代码隐藏文件都是相同的)并复制控件的自动生成的WithEvents声明。

然后我将aspx.vb和aspx.designer.vb文件转换为空白文件(当我删除它们时,编译器抱怨它找不到它们 - 不确定如何修复它)。魔法!我的所有aspx文件现在指向我的新类(和文件),我不再拥有重复的代码。

顺便说一句,这不仅仅是使用多层设计的情况。我已经将所有实质性代码放在一个地方,但我仍然需要将来自Page_Load和各种控制点击功能的调用复制到该代码中。现在我没有重复......

布赖恩

答案 4 :(得分:1)

与Brian的答案相似。

在VS2013中。

  • 突出显示要复制的.aspx
  • 单击CTRL-C,然后单击CTRL-V

您将看到使用"创建的新aspx。 - Copy.aspx"最后

  • 突出显示新的.aspx
  • 右键单击并选择"重命名..."

键入您希望新.aspx调用的内容。继承等会自动更新。

相关问题