0

我正在尝试在我的网站中的图像中添加评论。网络,使用 C#。我正在为图像使用gridview,并在网格中添加新的文本框文件以插入评论。我添加了一个名为 ImageComments 的表,其中包含 CommentID、UserId、Body 和 id_image。这是我的代码。

 protected void addReviewButton_Click(object sender, EventArgs e)
    {

        MembershipUser currentUser = Membership.GetUser();
        Guid currentUserId = (Guid)currentUser.ProviderUserKey;
        string connectionString =
        ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string insertSql = "INSERT INTO ImageComments(Body, UserId) VALUES(@Body, @UserId)";
        TextBox reviewTextBox = GridView1.FindControl("reviewTextBox1") as TextBox;

        string a = reviewTextBox.Text;

            using (SqlConnection myConnection = new SqlConnection(connectionString))
            {
                myConnection.Open();
                SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
                myCommand.Parameters.AddWithValue("@Body", a);
                myCommand.Parameters.AddWithValue("@UserID", currentUserId);
                myCommand.ExecuteNonQuery();
                myConnection.Close();
            }

            reviewTextBox.Text = string.Empty;

        }

    }

我得到了著名的错误对象引用未设置为对象的实例。我认为 FindControl() 方法有问题,因为当 TextBox(注释文件)在网格之外时我没有问题。我被这个错误困住了大约一周。请,地方,如果有人知道,请帮助我

4

1 回答 1

1

当您对 reviewTextBox 有问题时,您可以尝试下面的代码以在 gridview 中找到文本框

Button button = sender as Button;
TextBox reviewTextBox = button.NamingContainer.FindControl("reviewTextBox1") as TextBox;
于 2013-09-16T06:13:01.083 回答