HTML按钮与OnServerClick找不到方法

本文关键字:找不到 方法 OnServerClick 按钮 HTML | 更新日期: 2023-09-27 18:18:12

尝试构建应用程序时出现以下错误:

CS1061:"ASP。mailbox_aspx'不包含'MarkAsRead'的定义,也没有扩展方法'MarkAsRead'接受类型为'ASP '的第一个参数。Mailbox_aspx '可以找到(您是否缺少using指令或程序集引用?)

但是一切似乎都在适当的地方,因为它应该是-除非有什么我错过了?

HTML:

<button id="markasread" runat="server" class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="top" title="Mark as read" onserverclick="MarkAsRead"><i class="fa fa-exclamation"></i> </button>
c#:

private void MarkAsRead(object sender, EventArgs e)
        {
            foreach (RepeaterItem aItem in rptInbox.Items)
            {
                HtmlInputCheckBox chkDisplayTitle = (HtmlInputCheckBox)aItem.FindControl("chkDisplayTitle");
                if (chkDisplayTitle.Checked)
                {
                    var messageid = chkDisplayTitle.Value;
                }
            }
        }

HTML按钮与OnServerClick找不到方法

那是因为你的方法是private:-

protected void MarkAsRead(object sender, EventArgs e)

当你在aspx页面中定义控件时,它被编译成一个由类后面的代码继承的类。因此,在您的情况下,它无法找到您在类后面的代码中定义的方法。