当前位置: 代码迷 >> ASP.NET >> ListView1里LinkButton的展示与隐藏
  详细解决方案

ListView1里LinkButton的展示与隐藏

热度:4219   发布时间:2013-02-25 00:00:00.0
ListView1里LinkButton的显示与隐藏
我想实现当“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;      }            }  }}