今天在项目中遇到了一个搞笑的问题。
网站除了头尾部分,主信息部分又有左右两个部分,左边是信息展示部分,右边则是一些分类的列表部分。
大部分的样式都是写在模板页中的,此时问题出现了。
网站中用到的几个用户控件,为的也是为了快速编写。
那么主信息部分的右侧分类列表就是一个用户控件了。
可是,找个用户控件,不会在每个子页调用。当然是在模板页中调用了。否则:怎么能体现出用户控件的好处呢?
那么,问题如此。
index.aspx页面中主信息部分的左:650px,右边:310px
但是 在模板页中引用的用户控件的宽度:220px,因为除过了index.aspx页面后,所有的页面的主信息部分,的左右比例都是:740:220
只有index.aspx 左右比例:650:310
那么,怎么办呢?
方法如下:
用户控件依然在模板页中引用到页面中。当然,宽度是220了。为什么呢,因为index.aspx 页面用的时310,而其他页面却要十几个,或者几十个以上。那么当然要为大众服务了
那么就要在index.aspx 中再加入右侧部分的分类信息列表。要么再写一个330px 的用户控件,要么在这个页面中再写一遍右边列表的信息调用方法和空间,无论了。随便。。。。
但是:这样的话,右侧部分的信息是不是别调用了2遍呢?
答案:是的。
那么怎么办呢?
就需要 在index.aspx后台中的,page_load事件中写入这样一句话:
(Master.FindControl("right_Control") as UserControl).Visible = false;
right_Control表示的就是在模板页中调用 用户控件的ID。
有了这句话,一切就Ok了。