我在这里有点痛苦,我无法弄清楚出了什么问题 .
我有一个ASP.net项目,我部署在服务器上 . 起初一切似乎都很好,没有任何错误 . 但是,作为最后一个加法,我想将搜索功能添加到一个相当大的列表中,所以我在标记中添加了以下语法:
<td>
Search Server:
<asp:TextBox ID="txtSearch" runat="server" />
<asp:Button ID="btnLookup" runat="server" OnClick="btnLookup_Clicked" Text="Search" />
<asp:Label ID="lblFeedback" runat="server" />
</td>
以及后面的代码:
protected void btnLookup_Clicked(object sender, EventArgs e)
{
lblFeedback.Text = "";
Session["IsSearch"] = true;
LoadServerList();
}
当我在本地运行时,它可以正常工作 . 然而!
当我将这些文件复制到服务器时,我收到编译错误:
Compiler Error Message :CS1061:' ASP.ntservice_ reports_ reports_ serverlist_ manage_ aspx '不包含'btnLookup_ Clicked'的定义,并且没有扩展方法'btnLookup_ Clicked'接受类型为'ASP.ntservice_ reports_ reports_ serverlist_ manage_ aspx'的第一个参数(您是否缺少using指令或汇编引用?)
它说没有什么可以处理我的Clicked事件,虽然它在我通过Visual Studio运行时确实有效 .
有任何想法吗?
编辑:我自己尝试的是
-
重命名按钮
-
删除并读取按钮
-
通过设计师添加
-
重命名单击事件
-
从标记中删除事件允许正常执行......:/
14 回答
您的项目是网站还是Web应用程序?我猜这是一个Web应用程序项目,也许你没有从bin文件夹部署最新的DLL . 检查计算机和服务器之间的版本以验证它们是否相同 .
我认为更改对象名称时会生成此错误,例如 . Text1 - »txtSerialNo我有同样的问题,但我可以解决它 . 这是解决方案:进入拆分模式,单击文本框/对象,在代码中删除该行
从:
至:
我希望这个对你有用 . 祝福你 .
你部署了DLL吗?
我遇到了同样的问题 . 我把事件处理程序方法公之于众,问题解决了!
谢谢!
你设定了吗?
你的页面指令正确吗?
如果您做了其他正确的事情,这应该解决它:
尝试创建一个全新的点击事件(使用拆分视图,以确保您正确获得方法签名 . )
然后将您之前单击的事件中的代码复制到新创建的事件中,将新事件的方法名称复制到原始按钮,看看它是否有效 .
尝试将事件处理程序重命名为OnClick =“buttonLookup_Clicked”...并更改事件处理程序签名以匹配它 .
我自己也有同样的问题,我把方法公之于众,以便删除编译错误,然后将其包含在内
希望这可以帮助
使您的onclick事件指向公共事件 .
如果事件以编程方式注册并且也在标记中(通过属性)注册,则会发生这种情况
去 Build ==> Clean Solution ==> Run (f5)
我刚刚重启了我的ASP.NET开发服务器,然后再次运行 .
我遇到了同样的问题,但我通过将
CodeFile="xxxx.aspx.cs"
包含在我的 page directive 中来修复它,希望这个帮助 .右键单击受影响的表单并转到属性,将Build Action更改为Compile . 通常,当Build Action更改为resource时会出现此错误 .