部署时ASP.net CS1061编译错误

时间:2009-07-29 06:30:04

标签: c# asp.net iis

我在这里有点痛苦,我无法弄清楚出了什么问题。

我有一个部署在服务器上的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();
}

当我在本地运行时,它可以正常工作。 无论其!

当我将这些文件复制到服务器时,我收到编译错误:

编译器错误消息:CS1061:'ASP.ntservice_ reports_ reports_serverlist_ manage_aspx'不包含'btnLookup_ Clicked'的定义,也没有扩展方法'btnLookup_ Clicked'接受类型的第一个参数可以找到'ASP.ntservice_ reports_ reports_ serverlist_ manage_aspx'(您是否缺少using指令或程序集引用?)

它说没有什么可以处理我的Clicked事件,虽然它在我通过Visual Studio运行时确实有效。

任何想法?

编辑: 我自己尝试的是

  • 重命名按钮
  • 删除并阅读按钮
  • 通过设计师添加
  • 重命名点击事件
  • 从标记中删除事件允许正常执行......:/

15 个答案:

答案 0 :(得分:9)

您的项目是网站还是网络应用程序?我猜这是一个Web应用程序项目,也许你没有从bin文件夹部署最新的DLL。检查机器和服务器之间的版本,以验证它们是否相同。

答案 1 :(得分:3)

我认为更改对象名称时会生成此错误,例如。 Text1 - »txtSerialNo我有同样的问题,但我可以解决它。这是解决方案: 转到拆分模式,单击文本框/对象,在代码中删除行

[**ontextchanged="txtSerialNo_TextChanged"**]

自:

[<asp:TextBox ID="txtSerialNo" runat="server" 
     ontextchanged="txtSerialNo_TextChanged"></asp:TextBox> //remove this line]

要:

[<asp:TextBox ID="txtSerialNo" runat="server"</asp:TextBox>]

我希望它适合你。祝福你。

答案 2 :(得分:2)

您是否部署了dll?

答案 3 :(得分:2)

我遇到了同样的问题。我把事件处理程序方法公之于众,问题解决了!

谢谢!

答案 4 :(得分:1)

你设置

<%@ Page ... Language="C#" CodeBehind="... .aspx.cs" Inherits="..." .../>
你的页面指令中的

是否正确?

答案 5 :(得分:1)

如果你做的一切正确,这应该解决它:

尝试创建一个全新的点击事件(使用拆分视图,只是为了确保您正确获取方法签名。)

然后将您之前点击的事件中的代码复制到新创建的事件中,将新事件的方法名称复制到原始按钮,看看它是否有效。

答案 6 :(得分:1)

尝试将事件处理程序重命名为OnClick =“buttonLookup_Clicked”...并更改事件处理程序签名以匹配它。

答案 7 :(得分:1)

我自己也有同样的问题,我把方法公之于众,以便删除编译错误,然后将其包含在

<form runat="server">
 .....  
 <asp:Button id...  OnClick="MethodName"/>
</form>

希望这有帮助

答案 8 :(得分:1)

将您的onclick事件指向公开。

答案 9 :(得分:1)

如果事件以编程方式注册并且也在标记中(通过属性)注册,则会发生这种情况

答案 10 :(得分:1)

转到 构建==&gt;清洁解决方案==&gt;运行(f5)

答案 11 :(得分:0)

我刚刚重启了我的ASP.NET开发服务器,然后再次运行。

答案 12 :(得分:0)

我遇到了同样的问题,但我通过将CodeFile="xxxx.aspx.cs"添加到我的页面指令中来解决此问题,希望此帮助。

答案 13 :(得分:0)

右键单击受影响的表单并转到属性,将Build Action更改为Compile。通常,当Build Action更改为resource时会出现此错误。

答案 14 :(得分:0)

在我的情况下,当解决方案中有两个项目时会出现此问题,并且第二个项目引用了第一个项目 dll。 在第一个项目中向类添加新成员时,请确保先构建第一个项目,然后第二个项目将成功编译