我想在.aspx页面,能够根据的后台代码的返回情况,决定是否显示该单元格:
<table>
<tr>
如果条件不成立,下面的单元格不显示
<td></td>
<td></td>
<td></td></tr>
</table>我记得不知道在哪个地方见到过,在html中混杂服务器语言(如同asp一样),但不知道该怎么写,请指点!

解决方案 »

  1.   

    <%
    if (a == "1")
    {
    %>
    <td></td><%
    }%>
    public String a = "2222";
      

  2.   

    不显示单元格,还是不显示单元格内容?如果是后者,可以这样写个demo:<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        protected bool CheckVisible()
        {
            return true;
        }    protected void Page_PreRender(object sender, EventArgs e)
        {
            this.xxx.DataBind();
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div runat="server" id="xxx" visible="<%# CheckVisible() %>">
            hi
        </div>
        </form>
    </body>
    </html>
    如果不想让单元格输出到客户端,更简单一些,可以这样写demo:<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        protected bool CheckVisible()
        {
            return false;
        }    protected void Page_PreRender(object sender, EventArgs e)
        {
            this.xxx.DataBind();
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <table>
            <tr>
                <td runat="server" id="xxx" visible="<%# CheckVisible() %>">
                    hi
                </td>
            </tr>
        </table>
        </form>
    </body>
    </html>
      

  3.   

    public String a = "2222";这段在后台写。
    剩下这些写在HTML那。
    <%
    if (a == "1")
    {
    %>
    <td></td>
    <td></td>
    <td></td>
    <%
    }%>
      

  4.   

    当然,可以在<tr>上增加服务器端的visible属性的计算表达式。
      

  5.   

    <%
    if (a == "1")
    {
    %>
    <td></td><%
    }%>
    public String a{get;set;}
    或设置visible='<%=a%>'
    public bool a{get;set;}
      

  6.   

    但是有问题,我在下面ItemTemplate里面的td的visible="<%# check() %>"就能起效,
    但在LayoutTemplate,td的visible="<%# check() %>"不起效,还是会显示,但是如果直接设为visible="false",就能禁止显示,是不是LayoutTemplate模板里面的,不会进行运算?请问如何解决?
    --------------------------------------------------------------
    <asp:ListView runat="server" ID="lv1">
                    <LayoutTemplate>
                        <table>
                            <tr>
                                <td runat="server" visible="<%# check() %>">
                                    pl
                                </td>
                                <td>
                                    plname
                                </td>
                            </tr>
                            <tbody runat="server" id="itemPlaceholder">
                            </tbody>
                        </table>
                    </LayoutTemplate>
                    <ItemTemplate>
                        <tr>
                            <td runat="server" visible="<%# check() %>">
                                <%#eval("pl") %>
                            </td>
                            <td>
                                <%#Eval("plname")%>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:ListView>
      

  7.   

    但是有问题,我在下面ItemTemplate里面的td的visible="<%# check() %>"就能起效,
    但在LayoutTemplate,td的visible="<%# check() %>"不起效,还是会显示,但是如果直接设为visible="false",就能禁止显示,是不是LayoutTemplate模板里面的,不会进行运算?请问如何解决?
    --------------------------------------------------------------
    <asp:ListView runat="server" ID="lv1">
      <LayoutTemplate>
      <table>
      <tr>
      [b]<td runat="server" visible="<%# check() %>">[/b]  pl
      </td>
      <td>
      plname
      </td>
      </tr>
      <tbody runat="server" id="itemPlaceholder">
      </tbody>
      </table>
      </LayoutTemplate>
      <ItemTemplate>
      <tr>
      <td runat="server" visible="<%# check() %>">
      <%#eval("pl") %>
      </td>
      <td>
      <%#Eval("plname")%>
      </td>
      </tr>
      </ItemTemplate>
      </asp:ListView>
      

  8.   

    Sorry,我的问题是为什么listview的layoutTemplte里面的<%...%>不能够被执行,有谁知道吗?
      

  9.   

    LayoutTemplate不是绑定,就不能使用<%#  %>,只有绑定的时候才能使用。你可以<%=check()%>
      

  10.   

    to net_lover:
    直接使用<%=check()%>,系统报错:
    控件包含代码块(即 <% ... %>),因此无法修改控件集合
      

  11.   

    <table>
    <tr>
    <%# 条件?"成立":"<td>不成立</td>"%>
    <td></td>
    <td></td></tr>
    </table>
      

  12.   

    listview根本不执行layoutTemplte里面的<%#...%>
    !!!
      

  13.   


     如果是 asp 页面 貌似可以 
      

  14.   

    到底是ASP。还是ASP.NET?
    还有。你到底要实现什么功能啊?
      

  15.   

    我是用asp.net
    很简单,我想实现的功能是自定义listview的显示列,itemTemplate可以自定义是否显示
    但layoutTemplte就不能动态的做到,因为<%#...%>不能被执行!!!
      

  16.   

    who knows? please help me!
      

  17.   

    用CCS控制呢?
    <style="display:<%# (bool)Eval("字段1")?"inline":"none" %>">
      

  18.   

    google:list view layoutTemplate data binding搞定,结贴