在后台代码中控制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 阅读(1342) 评论(1) 编辑 收藏 举报