ASP.NET页面控件在VB后台代码中未显示的问题求助
解决ASPX控件无法在VB后台文件中显示的问题
这个问题我之前开发ASP.NET WebForms时也碰到过好几次,大多是页面和后台文件的关联出了问题,或者Visual Studio没有自动生成控件的声明。试试下面这些步骤,按顺序来基本能搞定:
检查Page指令的关联配置
打开你的.aspx页面,确认最顶部的<%@ Page %>指令里,CodeFile和Inherits属性完全正确:<%@ Page Language="vb" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPage" %>重点注意:
Inherits的值要和VB后台文件里的类名完全一致(如果有命名空间也要带上),CodeFile要准确指向后台VB文件的路径,不能写错文件名或路径。强制VS重新生成控件声明
控件的后台字段是VS自动生成在设计器文件里的(Web Site项目是.aspx.designer.vb,Web Application项目则直接在后台类中),如果没生成,试试这些操作:- 右键你的项目 → 清理解决方案,接着右键 → 生成解决方案
- 在ASPX页面里做个微小修改(比如给某个控件标签加个空格),保存后切换到后台文件,VS通常会自动更新声明
- 如果是Web Site项目,可以先删除对应的
.aspx.designer.vb文件,然后右键ASPX页面 → 转换为Web应用程序,VS会重新生成正确的设计器文件
确认
runat="server"属性存在
虽然你贴的代码里控件都加了这个属性,但还是要再检查一遍——如果控件没有runat="server",后台绝对无法识别它。比如你的文本框:<asp:TextBox ID="first_name" runat="server"></asp:TextBox>确保
runat="server"拼写正确,没有遗漏。临时排查ValidationGroup的影响
你的验证控件用了ValidationGroup="requestquote",这个属性本身不会影响控件生成,但如果VS解析时出现异常,也可以暂时去掉这个属性,保存后看后台是否能显示控件,排除这个因素。重启Visual Studio
有时候VS的缓存会出现奇怪的问题,重启IDE后再打开项目,很多这类小问题都会自动消失。
内容的提问来源于stack exchange,提问作者codeNinja
相关产品推荐
相关产品推荐

