我想实现当“sname”等于Session["name"]时候 显示按钮 否则隐藏,但是我这么写 却报错:
Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
- C# code
<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound"> <ItemTemplate> <% if (Session["name"].ToString() == Eval("sname").ToString()) { %> <asp:LinkButton Visible="False" Style="margin-left: 10px;" ID="lnkDelete" runat="server" OnClick="Delete">删除</asp:LinkButton> <% } %> </ItemTemplate> </asp:ListView>
------解决方案--------------------------------------------------------
绑定很简单啊
- C# code
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e){ if (e.Item.ItemType == ListViewItemType.DataItem) { LinkButton lnkDelete = e.Item.FindControl("lnkDelete") as LinkButton; if (lnkDelete != null) { if (Session["name"] != null && Session["name"].ToString() == DataBinder.Eval(e.Item.DataItem, "sname").ToString()) { lnkDelete.Visible = false; } else { lnkDelete.Visible = true; } } }}