You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何ASP.NET页面出现‘Click_Edit’与EventHandler委托不匹配错误?

解决“No overload for 'Click_Edit' matches delegate 'EventHandler'”错误

问题原因

你的Click_Edit方法签名不符合ASP.NET服务器控件事件处理的要求:服务器端按钮的onserverclick事件必须遵循EventHandler委托的标准签名,即第一个参数必须是object类型,而你错误地使用了ObjectStateFormatter作为参数类型,导致委托匹配失败。

修复方案

  1. 修正方法参数类型:将Click_Edit方法的第一个参数从ObjectStateFormatter sender改为object sender
  2. 修复拼写错误:方法内提示文本中的selscted是拼写错误,改为selected

修改后的Click_Edit方法代码如下:

public void Click_Edit(object sender, EventArgs e)
{
    for (int i = 1; i < Request.Form.Count; i++)
    {
        if (Request.Form.AllKeys[i].Contains("chk"))
        {
            Session["userToUpdate"] = int.Parse(Request.Form.AllKeys[i].Remove(0, 3));
            Response.Redirect("/pages/UpdateAdmin.aspx");
        }
    }
    mess.InnerHtml = "No user was selected to edit!";
}

额外检查

确认ASPX页面中按钮的onserverclick属性值与后台方法名完全一致(当前代码中onserverclick="Click_Edit"与方法名匹配,无需修改)。

内容的提问来源于stack exchange,提问作者joee__mama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:13:17