无法访问 Visual Studio 中的文本框

Can't access textboxes in Visual Studio

我正在尝试从我正在构建的网站收集真正的基本信息,但它失败了,我不明白为什么。

基础知识是我在 aspx 文件中有一个名为 "txtUserName" 的文本字段,因此我应该能够在 aspx.cs 文件中调用 txtUserName.Text。但是它说名称 'txtUserName' 在当前上下文中不存在。

这是代码。

Default.aspx 有这个代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <table>
    <tr>
        <td>
            User Name:

        </td>
        <td>

            <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><asp:RequiredFieldValidator ForeColor="Red" ID="RequiredFieldValidator2" ControlToValidate="txtUserName" runat="server" ErrorMessage="* Required"></asp:RequiredFieldValidator>
        </td>

    </tr>
    <tr>

        <td>
            Password:
        </td>
        <td>

            <asp:TextBox ID="txtPWD" runat="server" TextMode="Password"></asp:TextBox>
            <asp:RequiredFieldValidator ControlToValidate="txtPWD" ID="RequiredFieldValidator1" ForeColor="Red" runat="server" ErrorMessage="* Required"></asp:RequiredFieldValidator>
        </td>
    </tr>
         <tr>
        <td colspan="2">
            <asp:Button ID="btnSubmit" runat="server" Text="Login" OnClick="btnSubmit_Click" />
            <asp:Button ID="bttnRegister" runat="server" Text="Register" onClick="btnRegister_Click"/>
        </td>
    </tr>

</table>
    </div>
    </form>
</body>
</html>

默认。aspx.cs 有此代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;
using System.Security.Cryptography;



public partial class Default : System.Web.UI.Page
{
   string myConnectionString = ConfigurationManager.ConnectionStrings["External"].ToString();


    public SqlConnection createConnection()
    {
        SqlConnection myConnection = new SqlConnection(myConnectionString);
        myConnection.Open();
        return myConnection;
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        txtUserName.Text = "test";
    }

在 aspx 上单击右键,然后单击视图设计器。之后 txtUserName 应该在后面的代码中可见。这个错误有时会发生,其他解决方案是手动将文本框添加到 designer.cs 文件。