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

首頁 > 編程 > .NET > 正文

Asp.Net下通過切換CSS換皮膚_.Net教程

2024-07-10 12:52:56
字體:
來源:轉載
供稿:網友

推薦:ASP.NET DataTable去掉重復行的2種方法
這篇文章主要介紹了ASP.NET DataTable去掉重復行的2種方法,本文直接給出去重代碼,需要的朋友可以參考下 第一種,使用Linq查詢表達式,code如下 ? 第二種方法 利用dataview來過濾datatable ?

 換皮膚的方式有很多種,最簡單的通常就是切換頁面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的(HttpModule,HttpHandler)
在以前的ASP時候,當請求一個*.asp頁面文件的時候,這個HTTP請求首先會被一個名為inetinfo.exe進程所截獲,這個進程實際上就是www服務。截獲之后它會將這個請求轉交給asp.dll進程,這個進程就會解釋這個asp頁面,然后將解釋后的數據流返回給客戶端瀏覽器。其實ASP.DLL

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邓州市| 安岳县| 宣恩县| 襄城县| 连云港市| 沧州市| 雷波县| 安龙县| 宁河县| 长沙市| 永州市| 大港区| 信丰县| 韶山市| 霍林郭勒市| 荆州市| 清流县| 大新县| 色达县| 大邑县| 三河市| 施甸县| 叶城县| 榆林市| 翁牛特旗| 安宁市| 汾阳市| 简阳市| 修水县| 台北县| 得荣县| 江都市| 蓝田县| 德昌县| 新营市| 四平市| 大悟县| 东兴市| 柳河县| 邵阳市| 乐山市|