如果注释是由用户登录后如何显示删除按钮?

问题描述 投票:0回答:1

我有一个ListView,显示用户对特定新闻文章的所有评论。

我想让创建评论的用户也能够将其删除,因此在他发表的评论附近,他应该只能看到删除按钮。

考虑到不允许在服务器标签中使用<%= ... %>设置visible属性,应该怎么做呢?

我想过迭代所有ListView项目并在必要时添加按钮,但我认为这太麻烦了,而且还有更好的方法。

谢谢!

asp.net webforms
1个回答
0
投票

尝试在ListView ItemDataBound事件上实现可见性逻辑。

标记:

<asp:ListView ID="lv" OnItemDataBound="ItemDataBound" />

代码背后:

protected void ItemDataBound(object sender, ListViewItemEventArgs e)
{
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        var deleteButton = (Button)e.Item.FindControl("DeleteButtonID");

        YourDataSource yourDataSource = e.Item.DataItem as YourDataSource;
        deleteButton.Visible = yourDataSource.CanDelete;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.