今天在項目中遇到了一個搞笑的問題。
網站除了頭尾部分,主信息部分又有左右兩個部分,左邊是信息展示部分,右邊則是一些分類的列表部分。
大部分的樣式都是寫在模板頁中的,此時問題出現了。
網站中用到的幾個用戶控件,爲的也是爲了快速編寫。
那麼主信息部分的右側分類列表就是一個用戶控件了。
可是,找個用戶控件,不會在每個子頁調用。當然是在模板頁中調用了。否則:怎麼能體現出用戶控件的好處呢?
那麼,問題如此。
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了。