我有一个ListView
,显示用户对特定新闻文章的所有评论。
我想让创建评论的用户也能够将其删除,因此在他发表的评论附近,他应该只能看到删除按钮。
考虑到不允许在服务器标签中使用<%= ... %>
设置visible属性,应该怎么做呢?
我想过迭代所有ListView
项目并在必要时添加按钮,但我认为这太麻烦了,而且还有更好的方法。
谢谢!
尝试在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;
}
}