国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Asp.Net下通過切換CSS換皮膚

2019-11-18 16:45:49
字體:
來源:轉載
供稿:網友

換皮膚的方式有很多種,最簡單的通常就是切換頁面CSS,而CSS通常寫在外部CSS文件里。那么切換css其實就是更換html里的link href路徑。我在網上搜索了下。一般有兩種方式:

1,在頁面放一個holder控件。然后用編程方式把當前用戶的風格css link寫入頁面。
2,通過反射機制,逐個控件設置css樣式。
上面兩種方式都挺麻煩的,
第一種需要在每個頁面上放一個holder控件。類似的做法還有把link標簽加runat=server的做法。頁面多了,都比較麻煩。
第二種不用考慮了。性能編程效率上問題多多。

記得以前在學習DNN的時候,在他里面發現了一種修改form里默認的action地址的方式,直接參考下。還不錯:
直接重寫Render事件
        PRotected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            StringWriter sw = new StringWriter() ;
            HtmlTextWriter htmlWriter = new HtmlTextWriter(sw) ;

            base.Render(htmlWriter) ;
            //當前用戶選擇的風格css
            string css = "<link href=/"css url/" rel=/"stylesheet/" type=/"text/css/">" ;

            string html = sw.ToString() ;
            int startPoint = html.IndexOf("</head>", StringComparison.CurrentCultureIgnoreCase);
            if (startPoint > 0)
            {
                html = html.Insert(startPoint, css);
            }

            writer.Write(html) ;
        }
把這個放在每個頁面的基類PageBase里。那就方便多了。
當然,如果不想在讓每個page都繼承自定義的基類的方式,那也可以通過在HttpModule里寫。也很方便.
一處寫好,頁頁受用呀。

http://m.survivalescaperooms.com/kwklover/archive/2007/01/03/610822.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江城| 荃湾区| 三原县| 黑山县| 永仁县| 虞城县| 志丹县| 荆门市| 民勤县| 万荣县| 鄂州市| 龙陵县| 威远县| 黄龙县| 宝清县| 岳普湖县| 丰台区| 阿合奇县| 新密市| 平邑县| 巩留县| 阳春市| 临泽县| 库尔勒市| 涿州市| 湖口县| 新安县| 邵阳市| 新巴尔虎左旗| 沁源县| 凉山| 万山特区| 昌都县| 澄迈县| 泰兴市| 石阡县| 贺州市| 贺州市| 驻马店市| 阳朔县| 邯郸县|