如何根据使用 ListView 发布特定评论的用户删除评论?我添加了一个按钮并将其设为 Visible false,以便在我的 .cs 代码中,当我检查当前登录用户是发布评论的用户时,删除按钮将可见。目前,我试过这个:
protected void PostCommentButton_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
MembershipUser currentUser = Membership.GetUser();
Guid currentUserId = (Guid)currentUser.ProviderUserKey;
string connectionString = ConfigurationManager.ConnectionStrings["CommentConnectionString"].ConnectionString;
string insertSql = "INSERT INTO Comments(Subject, Body, UserId) VALUES(@Subject, @Body, @UserId)";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
myConnection.Open();
SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
myCommand.Parameters.AddWithValue("@Subject", Subject.Text.Trim());
myCommand.Parameters.AddWithValue("@Body", Body.Text.Trim());
myCommand.Parameters.AddWithValue("@UserId", currentUserId);
myCommand.ExecuteNonQuery();
myConnection.Close();
if (currentUser.UserName == Eval("UserName").ToString())
{
Control deleteButton = e.Item.FindControl("Button2");
deleteButton.Visible = true;
}
}
但这给了我错误。它指出“System.EventArgs”不包含“Item”的定义,并且找不到接受“System.EventArgs”类型的第一个参数的扩展方法“Item”。我将此代码放在我的 PostComment 按钮中。我在哪里做错了吗?
这是显示的错误。
编译错误
说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。
编译器错误消息:CS1061:“System.EventArgs”不包含“Item”的定义,并且找不到接受“System.EventArgs”类型的第一个参数的扩展方法“Item”(您是否缺少 using 指令或装配参考?)
源错误:
Line 59: TextBox2.Text = string.Empty;
Line 60:
Line 61: if (e.Item.ItemType == ListViewItemType.DataItem)
Line 62: {
Line 63: ListViewDataItem currentItem = (ListViewDataItem)e.Item;