ASP.NET DropDownList触发idRegion_SelectedIndexChanged报BC30456错误求助
BC30456错误解决方案
报错信息:编译器错误消息:BC30456: 'idRegion_SelectedIndexChanged' 不是 'vb_aspx' 的成员
这个错误的核心是ASPX页面中DropDownList控件绑定的事件处理方法,无法在对应页面类中找到匹配的成员定义,可按以下步骤逐一排查解决:
- 检查后置代码(.aspx.vb文件)的方法定义
确认代码中存在签名完全匹配的事件处理方法,访问修饰符必须为Protected或Public,不能是Private,正确示例如下:
同时检查方法名是否存在拼写错误,和控件上Protected Sub idRegion_SelectedIndexChanged(sender As Object, e As EventArgs) ' 此处编写选中项变更后的业务逻辑 End SubOnSelectedIndexChanged绑定的名称完全一致。 - 核对页面类绑定配置
查看ASPX页面顶部的@ Page指令,确认Inherits属性的值和后置代码中的类名完全一致,且后置代码的类声明带有Partial关键字,示例:Partial Class vb_aspx Inherits System.Web.UI.Page ' 页面其他逻辑和方法 End Class - 清理缓存重新编译
如果使用的是Web Site类型项目,可清空.NET临时编译缓存(路径为C:\Windows\Microsoft.NET\Framework[对应.NET版本号]\Temporary ASP.NET Files),再重新生成站点,解决缓存导致的方法识别异常。 - 冗余属性清理
你当前使用的DropDownList控件Enabled属性设为了False,如果该控件始终处于禁用状态,用户根本无法触发选中变更事件,可直接删除控件上的AutoPostBack="True"和OnSelectedIndexChanged="idRegion_SelectedIndexChanged"属性,即可直接消除该报错。
内容的提问来源于stack exchange,提问作者Lothar Rappsilber
相关产品推荐
相关产品推荐

