C# 运输署可见问题

C# 运输署可见问题,c#,asp.net,html-table,visible,C#,Asp.net,Html Table,Visible,我浏览了关于该主题已回答的不同案例,但没有找到回答我问题的案例: <asp:ListView ID="lstView_phoneUsersExtensionsFound" runat="server" OnItemDataBound="lstView_phoneUsersExtensionsFound_ItemDataBound"> <LayoutTemplate> <table id="tbl1" runat="server" class="borde

我浏览了关于该主题已回答的不同案例,但没有找到回答我问题的案例:

<asp:ListView ID="lstView_phoneUsersExtensionsFound" runat="server" OnItemDataBound="lstView_phoneUsersExtensionsFound_ItemDataBound">
  <LayoutTemplate>
    <table id="tbl1" runat="server" class="bordered">
      <tr id="tr1" runat="server">
        <th id="th1" runat="server" visible='<%# selectOptionVisible %>' >Select</th>
        <th id="th1" runat="server">UserID</th>
        <th id="th2" runat="server">Firstname</th>
        <th id="th3" runat="server">Lastname</th>
      </tr>
        <tr id="ItemPlaceholder" runat="server">  
      </tr>            
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr>
       <td runat="server" visible='<%# selectOptionVisible %>' >
         <input type="radio" name="rdbutton_userSelection" value='<%# Eval("uuid") %>' />
         <asp:HiddenField runat="server" ID="hdfield_userID" Value='<%# Eval("uuid")%>' />
       </td>
       <td><asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format("~/Users/DisplayUserDetails.aspx?selectedCCMUserID={0}&uuid={1}",Eval("userID"),Eval("uuid"))%>'><%# Eval("userID")%></asp:HyperLink></td>
       <td><%# Eval("firstname")%></td>
       <td><%# Eval("lastname")%></td>
     </tr>
   </ItemTemplate>
 <EmptyDataTemplate></EmptyDataTemplate></asp:ListView>

选择
用户ID
名字
姓氏
repeater layouttemplate标头不考虑可见值,但不同的项工作良好,并在需要时隐藏单元格。 我希望继续使用aspx函数,如果可能的话,不要使用javascript或CSS。 有什么想法吗?

试试这个

<th id="th1" runat="server" visible='<%# Eval("selectOptionVisible") %>'>

问题出现在visible=''中

相反,我将其更改为visible=''

确保您的数据源包含一列,如selectOptionVisible

笔记 要隐藏列标题,即

  • 加载页面加载时,加载代码隐藏中变量可见的“选择选项”

  • 而不是“

    现在可以使用“”

  • 在将数据加载到ListView之前,设置selectOptionVisibleVariable的值


  • 下面的代码实现了这一点,但我相信应该有更好的方法

      protected void lstView_phoneUsersExtensionsFound_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        HtmlTableCell th_selectColumn = (HtmlTableCell)lstView_phoneUsersExtensionsFound.FindControl("th1");
        th_selectColumn.Visible = selectOptionVisible;
    
    }
    

    您好,这样做时,它不喜欢这样的结构:CS1502:与“System.Web.UI.HtmlControls.HtmlTableRowCollection.Add(System.Web.UI.HtmlControls.HtmlTableRow)”匹配的最佳重载方法有一些无效的参数。另一个奇怪的是,我无法(未知变量)使用th1.visible=“true”这样的ID访问表属性“亲爱的Salim,您的问题在于根据可见性标准显示值或显示某些值。因为当我选中时,它是正确的。嗨,我想根据selectOptionVisible(true,false)的值隐藏第一列。visible=''的指令是相同的,但似乎只应用于行而不是表的标题。您好,我在发布之前测试了这个,但仍然没有效果。第一列标题(称为“选择”)仍然显示:-(