首页 文章

部署时ASP.net CS1061编译错误

提问于
浏览
8

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

我有一个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 回答

  • 8

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

  • 1

    我认为更改对象名称时会生成此错误,例如 . 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>]
    

    我希望这个对你有用 . 祝福你 .

  • 1

    你部署了DLL吗?

  • 1

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

    谢谢!

  • 2

    你设定了吗?

    <%@ Page ... Language="C#" CodeBehind="... .aspx.cs" Inherits="..." .../>
    

    你的页面指令正确吗?

  • 1

    如果您做了其他正确的事情,这应该解决它:

    尝试创建一个全新的点击事件(使用拆分视图,以确保您正确获得方法签名 . )

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

  • 0

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

  • 0

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

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

    希望这可以帮助

  • 1

    使您的onclick事件指向公共事件 .

  • 0

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

  • 2

    Build ==> Clean Solution ==> Run (f5)

  • 3

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

  • 1

    我遇到了同样的问题,但我通过将 CodeFile="xxxx.aspx.cs" 包含在我的 page directive 中来修复它,希望这个帮助 .

  • 1

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

相关问题