在Visual Studio中的Web项目中创建现有ASPX页面副本的最佳方法是什么?
如果我右键单击解决方案资源管理器中的ASPX文件并选择复制,然后粘贴,它看起来就像我期待的那样。我得到了ASPX文件的新副本和文件背后的代码。然后,我可以重命名ASPX文件,并重命名文件后面的代码。
看起来不错,直到我打开ASPX文件。然后我看到它与原始文件具有相同的“Inherits”标记,并且它指向原始类名。
我有什么遗失的东西吗?我意识到我可以手动编辑这个,以及文件背后的代码(因为它们声明了相同的类名,这会导致构建错误)。有没有更好的方法来做到这一点,或者我应该只是起来并开始做一些手工工作? : - )
答案 0 :(得分:9)
我几乎总是创建一个全新的页面,然后只需复制“guts”(留下页面指令信息,名称空间等),然后在一些查找和替换之后,如果需要的话。
答案 1 :(得分:8)
以下适用于VS 2013
答案 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。 - Copy.aspx"最后
键入您希望新.aspx调用的内容。继承等会自动更新。