我想在.aspx页面,能够根据的后台代码的返回情况,决定是否显示该单元格:
<table>
<tr>
如果条件不成立,下面的单元格不显示
<td></td>
<td></td>
<td></td></tr>
</table>我记得不知道在哪个地方见到过,在html中混杂服务器语言(如同asp一样),但不知道该怎么写,请指点!
<table>
<tr>
如果条件不成立,下面的单元格不显示
<td></td>
<td></td>
<td></td></tr>
</table>我记得不知道在哪个地方见到过,在html中混杂服务器语言(如同asp一样),但不知道该怎么写,请指点!
if (a == "1")
{
%>
<td></td><%
}%>
public String a = "2222";
<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>
剩下这些写在HTML那。
<%
if (a == "1")
{
%>
<td></td>
<td></td>
<td></td>
<%
}%>
if (a == "1")
{
%>
<td></td><%
}%>
public String a{get;set;}
或设置visible='<%=a%>'
public bool a{get;set;}
但在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>
但在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>
直接使用<%=check()%>,系统报错:
控件包含代码块(即 <% ... %>),因此无法修改控件集合
<tr>
<%# 条件?"成立":"<td>不成立</td>"%>
<td></td>
<td></td></tr>
</table>
!!!
如果是 asp 页面 貌似可以
还有。你到底要实现什么功能啊?
很简单,我想实现的功能是自定义listview的显示列,itemTemplate可以自定义是否显示
但layoutTemplte就不能动态的做到,因为<%#...%>不能被执行!!!
<style="display:<%# (bool)Eval("字段1")?"inline":"none" %>">