日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Asp.Net下通过切换CSS换皮肤

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net下通过切换CSS换皮肤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

換皮膚的方式有很多種,最簡單的通常就是切換頁面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里寫。也很方便.
一處寫好,頁頁受用呀。

總結

以上是生活随笔為你收集整理的Asp.Net下通过切换CSS换皮肤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。