我只想在c#Webforms中与SQL Server创建一个插入表单链接。不幸的是,我遇到了这个错误,却不知道如何定义它们。
错误CS1061'HtmlGenericControl'不包含以下定义: “文本”,并且没有可访问的扩展方法“文本”接受第一个 可以找到“ HtmlGenericControl”类型的参数(您是否丢失了 using指令还是程序集引用?)
请帮助我以正确的方式定义“文本”。
这是我的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>
这是我的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());
}
}
}
答案 0 :(得分:0)
请检查您的aspx代码。
所有asp控件的格式都不正确。
标签应为
<asp:Label ID="Label2" runat="server" Text="email"></asp:Label>
代替
<aspLabel ID="Label1" runat="server" Text="name"></aspLabel>
对于所有其他控件(例如文本框和按钮)都相同
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="submit" OnClick="Button1_Click" BackColor="Yellow" />
所有的asp控件都应像<asp:Textbox>, <asp:Label>, <asp:Button>
那样装饰,等等。
希望这会有所帮助。