-2

我正在编写一个更新 SQL Server 数据库中信息的 asp.net/c# Web 表单。我遇到的问题是注册页面。由于某种原因,数据不会发送到服务器。我的主页也有非常相似的代码,运行良好。

这是不向 SQL Server 发送信息的注册页面:

    using System;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Configuration;

    namespace WebApplication3
    {
public partial class Signup : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
      SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);

      SqlCommand cmd = new SqlCommand("INSERT INTO Users(UserID, Password, FirstName, MiddleName, LastName, Email) VALUES (@UserID, @Password, @FirstName, @MiddleName, @LastName, @Email)", conn);
      cmd.CommandType = System.Data.CommandType.Text;

      cmd.Parameters.AddWithValue("@UserID", TextBox1.Text);
      cmd.Parameters.AddWithValue("@Password", TextBox2.Text);
      cmd.Parameters.AddWithValue("@FirstName", TextBox3.Text);
      cmd.Parameters.AddWithValue("@MiddleName", TextBox4.Text);
      cmd.Parameters.AddWithValue("@LastName", TextBox5.Text);
      cmd.Parameters.AddWithValue("@Email", TextBox6.Text);

      conn.Open();
      cmd.ExecuteNonQuery();
      Response.Redirect("login.aspx");
    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);
    conn.Open();
    SqlCommand cmd = new SqlCommand("select * from Users where UserID= '" + TextBox1.Text + "'", conn);
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.Read())
    {
        Label1.Text="UserName is Taken";
        this.Label1.ForeColor=Color.Red;
    }
    else
    {
        Label1.Text="UserName is not Taken";
        this.Label1.ForeColor = Color.Black;
    }

    }
}

这是主页的代码,它按原样运行:

    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;

    namespace WebApplication3
    {
public partial class _Default : System.Web.UI.Page
{
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString1"].ConnectionString);
       SqlCommand cmd = new SqlCommand("INSERT INTO Observations(UserID, DateTime, Loc_Lat, Loc_Lon, Observation, Comments) VALUES (@UserID, @DateTime, @Loc_Lat, @Loc_Lon, @Observation, @Comments)", conn);
        cmd.CommandType = System.Data.CommandType.Text;
        cmd.Parameters.AddWithValue("@UserID", TextBox1.Text);
        cmd.Parameters.AddWithValue("@Observation", TextBox2.Text);
        cmd.Parameters.AddWithValue("@DateTime", DateTime.Now);
        cmd.Parameters.AddWithValue("@Comments", TextBox3.Text);
        cmd.Parameters.AddWithValue("@Loc_Lat", TextBox4.Text);
        cmd.Parameters.AddWithValue("@Loc_Lon", TextBox5.Text);
        conn.Open();
        cmd.ExecuteNonQuery();
        Response.Redirect("Webform1.aspx");
    }
}

我的问题的原因是什么?提前致谢!

编辑:继承人我的连接字符串:

    (<)add name="testConnectionString1" connectionString="Data Source=MALAYSIA\SQLEXPRESS;Initial Catalog=test;Integrated Security=True"
4

1 回答 1

0

好的,我找到了解决问题的方法。原来,在按钮属性中,PostBackurl被设置为 login.aspx 页面。删除后,程序现在可以工作了。

于 2013-10-28T15:01:16.457 回答