我有一个涉及我一直使用VS 2008的网站的问题,直到几个月前我买了VS 2010.我没有'升级'网站 - VS 2010问我是否想要,我说'不'。我第一次尝试使用VS 2010来编辑这个网站时遇到了一个问题 - 找到了一个在过去3个月里一直在使用的解决方法。但现在,突然间,解决方案似乎失败了。
在设计窗口(2008年或2010年)上处理网站时,您可以双击(例如)按钮,它将打开按钮点击事件的代码隐藏。
出于某种原因,我还没想到,VS 2010决定制作一个全新的事件子,以及我已经拥有的。例如,我有一个带有点击事件的按钮(在VS 2008中创建),如下所示:
Protected Sub btn_next_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_next.Click
...
End Sub
当我在VS2010中打开网站并双击设计窗口中的按钮时,它会创建一个全新的事件(复制'sub / end sub'中的所有代码')像这样:
Protected Sub btn_next_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_next.Click
...
End Sub
(请注意,在重复事件子中,它通过添加“1”来更改子名称)
如果我删除重复的sub,它会在我下次双击设计器中的按钮时返回。
更不用说,如果我删除重复的sub并尝试构建网站,我收到一个错误,告诉我它找不到'Sub btn_next_Click1 ...'。 (我已经验证按钮的标记没有'onclick = ...'属性会强制它查找这个特定的子。
最后,如果我将副词放在那里......事件被处理两次(原始子运行一次,复制子运行一次,因为它们都'处理'同一事件)。
我的解决方法是删除原始子。这似乎工作了一段时间。但是自从我昨天重新发布应用程序以来,重复的子程序已经开始运行两次,即使原始子程序已被删除。我通过在调试器中添加停止,然后逐步执行每一行来验证这一点。这种解决方案已经工作了几个月,突然之间无法正常工作。无论我做了什么导致它,我都看不到它。
顺便说一句 - 我重新发布的'重新发布'是指网站上的另一个页面。我在这篇文章中讨论的问题的页面已经好几个月没有被修改过了,而且一直都很好。
有这方面的经验吗?我是否需要在VS 2010中从头开始重新编写我的应用程序?
答案 0 :(得分:1)
我不认为这与从2008年到2010年的转变有关。由于编辑混淆了IDE,我不时得到这个。
答案是删除原件。附加“1”的原因是因为存在没有“1”的原因。删除原始修复。
如果这会导致错误,您可能需要直接编辑设计器代码。