62,272
社区成员
发帖
与我相关
我的任务
分享visible='<%# v %>' 来将属性值绑定到变量 v,并且使用
this.test_tr2.DataBind();
或者
this.DataBind();
来使得表达式生效。
你可以有很多地方跟这个 v 变量值绑定,不仅仅是一个或者多个 tr。这样,只要改变一个变量值,就能自动隐藏界面上的多个地方了。<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html>
<script runat="server">
protected bool v = true;
protected void Page_Load(object sender, EventArgs e)
{
var p = Request.QueryString["v2"];
if (p != null)
bool.TryParse(p, out v);
p = Request.QueryString["v1"];
if (p != null)
{
bool x;
if (bool.TryParse(p, out x))
this.test_tr1.Visible = x;
}
}
protected void Page_PreRender(object sender, EventArgs e)
{
this.test_tr2.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td>内容11</td>
<td>内容12</td>
</tr>
<tr>
<td>内容21</td>
<td>内容22</td>
</tr>
<tr runat="server" id="test_tr1">
<td>内容11</td>
<td>内容12</td>
</tr>
<tr runat="server" visible='<%# v %>' id="test_tr2">
<td>内容21</td>
<td>内容22</td>
</tr>
</table>
</form>
</body>
</html>
这里是用了两种方式,一种是使用绑定表达式来绑定 Visible 属性,另外一种是使用代码直接设置 Visible属性。
实际上,asp.net 使用DataList、ListView等控件来动态产生列表,根本不是用你这种方式来编程。