该名称在当前上下文中不存在"在ASPX页面
本文关键字:quot 不存在 ASPX 页面 上下文 | 更新日期: 2023-09-27 18:06:37
我已经看过类似的问题(1,2),但他们似乎没有为我提供解决方案:S
我试图在ASP中添加一个额外的字段到已经预先构建的注册表(即附带)。Net Web表单。
我正在做的是,在Register.aspx.cs
后端我试图获得值txtCompanyInput.Text();
:
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
... // some code here
String CompanyName = txtCompanyInput.Text();
... // other code here
Response.Redirect(continueUrl);
}
Register.aspx
本身看起来像这样:
...
<li>
<asp:Label runat="server" AssociatedControlID="ConfirmPassword">
Confirm password</asp:Label>
<asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="ConfirmPassword"
CssClass="field-validation-error" Display="Dynamic"
ErrorMessage="The confirm password field is required." />
<asp:CompareValidator runat="server" ControlToCompare="Password"
ControlToValidate="ConfirmPassword"
CssClass="field-validation-error" Display="Dynamic"
ErrorMessage="The password and confirmation password do not match." />
</li>
<li>
<asp:TextBox ID="txtCompanyInput" runat="server"></asp:TextBox>
</li>
...
当我尝试构建项目时,我遇到一个错误说:
Error 1 The name 'txtCompanyInput' does not exist in the current context c:'users'...'Account'Register.aspx.cs 62 34 ProjectTest
是否有一个原因,为什么我不能引用txtCompanyName
字段后端?
如果您像我一样使用VS2013 update 5,请执行以下步骤来重新生成设计器文件:
-
删除指定的Register.designer.cs
-
突出的寄存器。
- 进入菜单->"项目",点击"转换为Web应用程序"
右键单击解决方案资源管理器中的任何内容都不会让您选择"转换为web应用程序"。
希望这对一些初学者有所帮助。
Ehsan Sajjad走对了路。Register.aspx.designer.cs
文件没有更新。
我终于弄清楚这是由于Textbox
s和Label
s被放置在asp:CreateUserWizard
块内-你不应该这样做。即使手动将元素添加到designer.cs
文件中,在引用Textbox
时也会抛出错误(对象引用未设置为对象的实例)
我应该包括一个更大的代码段从Register.aspx
文件在我最初的问题。