2013-02-27 85 views
0

我有以下的ItemTemplate:隐藏链接如果DataBinder.Eval为空?

<ItemTemplate> 
         <asp:Label ID="lblUser" runat="server" 
          Text='<%# DataBinder.Eval(Container.DataItem, "Schedule.Employee.EmployeName") %>'></asp:Label> 

           <a href="#scheduleModal" id="scheduleLnk" 
         onclick="<%# "go('scheduleFrame', 
'ScheduleFrame.aspx?type=project&id=" + Eval("ProjectID").ToString() + "')" %>" 
          data-toggle="modal">Unassigned</a> 
        </ItemTemplate> 

我有一个标签,并打开一个模式的链接。

如果:DataBinder.Eval(Container.DataItem, "Schedule.Employee.EmployeName")为空,意味着项目没有安排,应该隐藏lblUser并且链接应该显示,否则应该隐藏链接并且lblUser应该显示。

有没有办法做到这一点?我不确定scheduleLnk有一个可见的属性。

回答

3

是有一种方法:

<ItemTemplate> 
    <asp:Label ID="lblUser" runat="server" 
      Text='<%# DataBinder.Eval(Container.DataItem, "Schedule.Employee.EmployeName") %>' 
      Visible='<%# DataBinder.Eval(Container.DataItem, "Schedule.Employee.EmployeName") == null ? false: true %>'> 
     </asp:Label> 

     <a href="#scheduleModal" id="scheduleLnk" 
      onclick="<%# "go('scheduleFrame', 
       'ScheduleFrame.aspx?type=project&id=" + Eval("ProjectID").ToString() + "')" %>" 
      data-toggle="modal" 
      style='<%# DataBinder.Eval(Container.DataItem, "Schedule.Employee.EmployeName") == null ? "display:block;": "display:none;"%>'>> 
      Unassigned 
     </a> 
</ItemTemplate>