Asp.net 函数突然需要';发送方作为对象,e作为System.EventArgs';

Asp.net 函数突然需要';发送方作为对象,e作为System.EventArgs';,asp.net,vb.net,function,code-behind,Asp.net,Vb.net,Function,Code Behind,我正在对一个asp.net项目进行最终调试。我在codebehind中的函数都很简单,大多数都不接受任何参数。例如,我使用如下函数登录用户: Sub LogInUser() (my code) End Sub 这些是从相关的.aspx页面调用的,通常带有按钮。这几周来一直运作良好。今天早上突然,我所有的页面都给了我一个错误: BC30408: Method 'Public Sub SearchAndChangePage()' does not have the same sign

我正在对一个asp.net项目进行最终调试。我在codebehind中的函数都很简单,大多数都不接受任何参数。例如,我使用如下函数登录用户:

Sub LogInUser()

    (my code)

End Sub
这些是从相关的.aspx页面调用的,通常带有按钮。这几周来一直运作良好。今天早上突然,我所有的页面都给了我一个错误:

BC30408: Method 'Public Sub SearchAndChangePage()' does not have 
the same signature as delegate 'Delegate Sub EventHandler
(sender As Object, e As System.EventArgs)'.
我将这些默认参数添加到我的函数中,它们又开始工作了。我想我可以浏览我的整个应用程序并这样做,然后和那些接受其他参数的应用程序混在一起,但是有人能告诉我为什么我的应用程序会突然这样做吗?我真的很讨厌代码中那些我无法解决的秘密,即使我知道如何解决它们


首先,我已将.axpx和.aspx.vb文件从本地开发环境(位于“解决方案”文件夹中)移动到服务器上。但是他们在服务器上一直工作到今天早上。

这听起来像是你对
选项进行了严格的限制,所以VB.NET不再允许你逃脱谋杀

实际上,您的sub(如
SearchAndChangePage
)应该始终具有
对象发送者EventArgs e
签名,但您可以不具有该签名


不管你怎么做,你现在都像专业人士一样编程了——这是做事情的正确方式,你不会犯那么多错误而不被告知。

是不是为某个按钮的点击事件注册了
SearchAndChangePage
?你是否将该方法用作事件处理程序?@ChrisHardie,恐怕我不确定这意味着什么——我现在正在学习一个教程,但结果是我有一个带有按钮的.aspx页面,一个带有sub的代码隐藏,这就是我所知道的全部。您是在谈论我在代码文件顶部继承或导入的内容吗?我没有改变这一切。它突然开始这样做了。@Steve,不确定你指的是什么方法。我的.aspx页面上有一个asp按钮,代码文件中有一个函数,就是这样。很抱歉成为这样一个傻瓜。如果有人读到这篇文章,我在.aspx页面的第一行是:我就知道有人会这么说。我认为你是对的,因为它还发现了另一个语法错误,这迫使我去修正,但我知道那个。谢谢,我将顺利完成教程;选择严格;选项推断。编程本来就是这样的!