ASP.NET按钮单击事件错误

3

我有一个带有按钮的Main.Master页面。
在设计视图中,当我双击该按钮时,它会在Main.Master页面中创建一个点击事件,如下所示;

<script runat="server">

    protected void btnKayit_Click(object sender, EventArgs e)
    {

    }
</script>

我希望在Main.Master.cs页面创建它,但当我手动创建时,会出现以下错误:

CS1061: 'ASP.main_master' does not contain a definition for 'btnKayit_Click' and no extension method 'btnKayit_Click' accepting a first argument of type 'ASP.main_master' could be found (are you missing a using directive or an assembly reference?)

我该如何解决这个问题?

编辑:aspx代码;

<asp:Button CssClass="arama" ID="btnKayit" runat="server" Text="Kayıt Ol" Height="30px"
                                    Width="75px" Style="margin: 0px; float: left; width: 75px; padding: 0px; margin-bottom: 0px;
                                    color: #d55355; font-size: 12px" onclick="btnKayit_Click" />

1
听起来像是命名空间的问题。这是一个 ASP.NET 网站,而不是 ASP.NET Web Forms 吗? - Dave Hogan
显示你的 aspx 页面代码。同时检查 aspx.designer.cs 页面上的按钮控件是否正确初始化。 - watraplion
@DaveHogan 这是一个 Web 应用程序项目。 - ali
@watraplion 我检查了 designer.cs,它已经正确地进行了初始化。 - ali
检查aspx.cs页面中的页面指令和继承。 - watraplion
可能的原因:1)您尚未编译;2)处理程序方法名称拼写错误(..._click);3)@Page指令和codebehind中指定的命名空间不匹配;4)等等。 - codingbiz
2个回答

0

在 .master 和 .master.cs 文件中验证命名空间。

检查母版文件的指令...

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.Master.css"
Inherits="Main" EnableTheming="true" %>

在这里,检查CodeFile属性的名称,它应该与Master.cs文件的类名相同

public partial class Main : System.Web.UI.MasterPage

这两者是相同的,只不过使用了CodeBehind声明而非CodeFile。您认为这可能是问题所在吗? - ali

0
根据您的错误信息,我认为您的主页面正在继承ASP.main_master类。您需要在ASP.main_master类中添加btnKayit_Click()。基本上,您的代码应该如下所示。

HTML:

//Please note the inherits attribute
<%@ Master Language="C#" Inherits="main_master" ... %>


<asp:Button CssClass="arama" ID="btnKayit" runat="server" ... 
            onclick="btnKayit_Click" />

代码后台:

//Please note the class name here it should be same as inheriting class name
public partial class main_master : System.Web.UI.MasterPage
{
    //....

    protected void btnKayit_Click(Object sender, System.EventArgs e)
    {
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接