首页 > 解决方案 > 请我试图将我的项目连接到数据库,但出现错误:当前上下文中不存在名称“文本框”

问题描述

这是我尝试使用的连接的 aspx.cs 代码,它给了我错误

using System.Data.SqlClient;

public partial class index : System.Web.UI.Page
{
    SqlCommand cmd = new SqlCommand();
    SqlConnection con = new SqlConnection();

    protected void Page_Load(object sender, EventArgs e)
    {
        con.ConnectionString = ("Data Source=.SQLEXPRESS;AttachDbFilename=C:Users SOLO Desktop DesHomeWeb App_Data Database.mdf;Integrated Security=True;Encrypt=False;User Instance=True");
        con.Open();
    }


protected void btn3_click(object sender, EventArgs e)
    {
        SqlCommand cmd = new SqlCommand("insert into signup " + " (fname)values(@fname)", con);

        cmd.Parameters.AddWithValue("@fname", textbox.text);
    }
}

这是我的 aspx 编码窗口中文本框的 HTML 代码

<td><input type="text" placeholder="First Name" class="textbox1" id="textbox" /></td>

标签: htmlcsswebforms

解决方案


在 ASP.NET Web 表单中,我相信您将需要使用 asp:TextBox 控件而不是 html 输入元素,如下所示:

<form id="form1" runat="server">
  <asp:TextBox placeholder="First Name" ID="textbox" runat="server" CssClass="textbox1"></asp:TextBox>
  <asp:Button id="btn3" Text="Sign Up" OnClick="btn3_click" runat="server"/>
</form>

假设您的 SQL Server Express 数据库名为“Database.mdf”并且它位于解决方案的 App_Data 文件夹中,您可以使用 |DataDirectory| 变量而不是数据库文件的物理路径。ASP.NET 会自动将 App_Data 目录的文件路径替换为 |DataDirectory| 打开与数据库的连接时的变量。请注意,您需要在连接字符串中使用双反斜杠 \ 来转义反斜杠字符:

con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;Encrypt=False;User Instance=True";

推荐阅读