我正在开发一个关于撰写报告的网站......用户可以对报告发表评论(哼!!好像是一件新东西;))..回到问题...我正在做的是用{{显示评论1}}。
问题我希望当有人在自己的帖子listview
上发表评论时,以便明确显示帖子所有者已发表评论......我已在{{1博客..非常感谢。谢谢。
答案 0 :(得分:2)
您可以使用数据键和ItemDataBound
事件执行此操作。
<asp:ListView ID="ListView1" runat="server" DataKeyNames="UserID" OnItemDataBound="ListView1_ItemDataBound" ... />
除了上述内容之外,您还需要将每个项目包装在服务器控件中,以便调整背景颜色:
<ItemTemplate>
<asp:Panel ID="Panel1" runat="server">
<!-- the item content here -->
</asp:Panel>
</ItemTemplate>
以下是一些示例代码隐藏:
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
var dataItem = e.Item as ListViewDataItem;
if (dataItem != null)
{
var innerPanel = dataItem.FindControl("Panel1") as Panel;
if (innerPanel!= null)
{
var userID = (int)ListView1.DataKeys[dataItem.DisplayIndex]["UserID"];
if (userID == base.User.UserID)
innerPanel.BackColor = Color.PeachPuff;
}
}
}
答案 1 :(得分:0)
onitemdatabound检查评论员ID是否与作者ID匹配
如果它确实像
那样if(databinder.eval(e.item.dataitem, "commentatorid") == _writerId)
{
e.item.attributes.add("style", "background-color: red");
}
我认为这样的事情无法检查atm