Search code examples
c#asp.netwebformsdefinitionhtmlgenericcontrol

HtmlGeneric Control does not contain a definition


I just want to create an insert form link with SQL server in c# webforms. Unfortunately, I got this error and don't get the idea to define them.

Error CS1061 'HtmlGenericControl' does not contain a definition for 'Text' and no accessible extension method 'Text' accepting a first argument of type 'HtmlGenericControl' could be found (are you missing a using directive or an assembly reference?)

please help me to define 'Text' in the right way.

this is my Contact.aspx:

 <form id="form1" runat="server">  
<div id="title">  
<h1>REGISTER PAGE</h1>  
</div>  
    <div id ="teble"></div>  
<table class="auto-style1">  
    <tr>  
        <td>  
            <aspLabel ID="Label1" runat="server" Text="name"></aspLabel></td>  
        <td>  
            <aspTextBox ID="TextBox1" runat="server"></aspTextBox></td>  
    </tr>  
    <tr>  
        <td>  
            <aspLabel ID="Label2" runat="server" Text="email"></aspLabel></td>  
        <td>  
            <aspTextBox ID="TextBox2" runat="server"></aspTextBox></td>  
    </tr>  
    <tr>  
        <td>  
            <aspLabel ID="Label3" runat="server" Text="subject"></aspLabel></td>  
        <td>  
            <aspTextBox ID="TextBox3" runat="server"></aspTextBox></td>  
    </tr>  

</table>  
<div id="button">  
    <aspButton ID="Button1" runat="server" Text="submit" OnClick="Button1_Click" BackColor="Yellow" />  
</div>  
    <div id="sim"></div>
  <p>
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Table]"></asp:SqlDataSource>
    </p>

this is my Contact.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.Data.SqlClient;
using System.Configuration;
public partial class Contact : Page
{
protected void Page_Load(object sender, EventArgs e)
    {
    if (IsPostBack)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        conn.Open();
        string checkuser = "select count(*) from Contact where name='" + TextBox1.Text + "'";
        SqlCommand cmd = new SqlCommand(checkuser, conn);
        int temp = Convert.ToInt32(cmd.ExecuteScalar().ToString());

        if (temp == 1)
        {
            Response.Write("Student Already Exist");
        }

        conn.Close();
    }
 }
protected void Button1_Click(object sender, EventArgs e)
{
   try
    {
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        conn.Open();
        string insertQuery = "insert into Table(Name,Email,Subject)values (@name,@email,@subject)";
        SqlCommand cmd = new SqlCommand(insertQuery, conn);
        cmd.Parameters.AddWithValue("@name", TextBox1.Text);
        cmd.Parameters.AddWithValue("@email", TextBox2.Text);
        cmd.Parameters.AddWithValue("@subject", TextBox3.Text);

        cmd.ExecuteNonQuery();

        Response.Write("Student registeration Successfully!!!thank you");

        conn.Close();

    }
    catch (Exception ex)
    {
        Response.Write("error" + ex.ToString());
    }
}  
    }




Solution

  • Cna you please check your aspx code.

    all asp controls are not well formated.

    label should be

    <asp:Label ID="Label2" runat="server" Text="email"></asp:Label>
    

    instead of

    <aspLabel ID="Label1" runat="server" Text="name"></aspLabel>
    

    sameway for all other controls like textbox and buttons

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button2" runat="server" Text="submit" OnClick="Button1_Click" BackColor="Yellow" />  
    

    all asp controls should be decorated like <asp:Textbox>, <asp:Label>, <asp:Button> and so on.

    Hope this will help.