在后台代码中控制HTML页面标记属性

工作中用到的一个小技巧。比如想控制页面上某个<div>标记的宽高等属性,能够根据数据库读取到的数据多少,自动变化。

在页面中,先给<div>标记添加id和runat属性,
<div id="div1" runat="server">
在后台代码中,声明变量
protected System.Web.UI.HtmlControls.HtmlGenericControl div1;
之后就可以随便怎么玩了。比如我在项目中一般是这样用的:
private void BindDetail()
{
     this.dgDetail.DataSource = this.dsDetail.Tables[0];
     this.dgDetail.DataBind();
     this.div1.Style["height"] = Convert.ToString((this.dgDetail.Items.Count + 2) * 25 - 5);
}
用div1.Style[] 来设置页面标记div1的各种属性。

还有一个比较常用的是<tr><td>标记,经常要根据某个状态值,显示不同的数据。
在页面中,添加id和runat属性:
<tr height="18" id="trBank" runat="server">
<tr height="18" id="trMail;" runat="server">
在后台代码中,声明变量
protected System.Web.UI.HtmlControls.HtmlTableRow trBank;
protected System.Web.UI.HtmlControls.HtmlTableRow trMail;

if (.....)
{     //显示trBank的数据,隐藏trMail的
     this.trBank.Style["Display"] = "";
     this.trMail1.Style["Display"] = "none";
}
else
{     //显示trMail的
     this.trBank.Style["Display"] = "none";
     this.trMail1.Style["Display"] = "";
}

小技巧,都是页面处理的。
至于具体某个HTML页面标记对应的哪个变量声明,一般可以在输入完
protected System.Web.UI.HtmlControls.
后,从弹出的自动选择中找找,都比较简单明白。

 

posted on 2005-08-23 16:42  CrazyWill  阅读(1340)  评论(1编辑  收藏  举报

导航