我正在尝试在我的网站中为asp添加评论。 net,使用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(注释文件)时没有遇到任何问题。我被困这个错误大约一个星期。请放置,如果有人知道某事,请帮助我
答案 0 :(得分:1)
如果您对reviewTextBox有疑问,可以尝试使用以下代码在gridview中找到文本框
Button button = sender as Button;
TextBox reviewTextBox = button.NamingContainer.FindControl("reviewTextBox1") as TextBox;