C# 名称';UName&x27;在当前上下文中不存在

C# 名称';UName&x27;在当前上下文中不存在,c#,asp.net,C#,Asp.net,当尝试注册到我的数据库时,我收到“名称‘UName’在当前上下文中不存在”错误 Register.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="se

当尝试注册到我的数据库时,我收到“名称‘UName’在当前上下文中不存在”错误

Register.aspx:

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
     <title>Registration Page</title>
 </head>
 <body>
    <p>This is the registration page</p>
    <a href ="Default.aspx">Home</a> | <a href ="#">Register</a>
    <form id="form1" runat="server">
    <div>
        <p>Enter First Name :</p>
        <p>
            <asp:TextBox ID="UName" runat="server" Width="271px"></asp:TextBox>
        </p>          
        <p>
             <asp:Button ID="registerButton" runat="server" Text="REGISTER" OnClick="registerEventMethod" />
        </p>
     </div>
     </form>
 </body>
</html>

为什么我会犯这个错误?我尝试了几种解决方案,但都失败了。

因此我解决了自己的问题,第一个初始问题是我尝试将.aspx文件复制到一个新的解决方案中,但是这没有复制到.aspx.designer.cs文件中,因此导致了问题

但是,在尝试手动重新编写一个带有设计器文件的新版本后,我忘记将.cs文件包含到解决方案的名称空间中,因此产生了一个新问题


然而,在将.cs文件包含到名称空间之后,嘿,presto,它成功了

您是否有
Register.aspx.designer.cs
文件,其中是否定义了
UName
?MySqlCommand与MySqlParameter一起工作,这是防止当前存在SQL注入漏洞所需的参数。@DavidG我想我没有设计器页面,或者如果我有,我无法在解决方案中找到它Explorer@AlexK. 我知道,我的这个项目甚至还没有接近完成哈哈,只是需要一些帮助来解决我目前的问题。通常aspx页面上的控件是在设计器文件中定义的,该文件作为主页的子文件存在,等等
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Register : System.Web.UI.Page
{
    MySql.Data.MySqlClient.MySqlConnection conn;
    MySql.Data.MySqlClient.MySqlCommand cmd;
    String queryStr;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void registerEventMethod(object sender, EventArgs e)
    {
        registerUser();

    }

    private void registerUser()
    {
        String connString = System.Configuration.ConfigurationManager.ConnectionStrings["WebAppConnString"].ToString();

        conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
        conn.Open();

        queryStr = "";

        queryStr = "INSERT INTO jamieobr_obecarrentals.users (Forename)" +
        "VALUES('" + UName.Text + "')";

        cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);

        cmd.ExecuteReader();

        conn.Close();
    }
}