校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > C#中實現偽靜態頁面兩種方式介紹

C#中實現偽靜態頁面兩種方式介紹

熱門標簽:蘋果手機凱立德地圖標注 百度ai地圖標注 合肥電銷外呼系統哪家公司做的好 同安公安400電話怎么申請流程 玉林市機器人外呼系統哪家好 申請400電話手續 預測式外呼系統使用說明 電話機器人軟件銷售工作 南陽外呼系統定制化
第一種是在頁面global.asax中,相關代碼如下
復制代碼 代碼如下:

void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
string oldurl = context.Request.Path.ToLower();
if ( ( oldurl.IndexOf("-") > 0 oldurl.IndexOf(".") == -1) || (oldurl.IndexOf("-") > 0 oldurl.IndexOf("aspx") > 0) )
{
string[] url = oldurl.Substring(oldurl.LastIndexOf("/") + 1).Replace(".aspx", "").Split('-');
string path = oldurl.Substring(0, oldurl.LastIndexOf("/") + 1);
//file
string file = url[0];
file = file.Replace("about", "detail");
file = file.Replace("news", "list");
file = file.Replace("down", "detail");
file = file.Replace("case", "album");
file = file.Replace("contact", "detail");
//query
string query = "";
for ( int i=1;iurl.Length;i++ )
{
if (url[i] != "")
{
switch (i)
{
case 1:
query += "id=" + url[i];
break;
case 2:
query += "page=" + url[i];
break;
case 3:
query += "key=" + url[i];
break;
case 4:
query += "v1=" + url[i];
break;
case 5:
query += "v2=" + url[i];
break;
case 6:
query += "v3=" + url[i];
break;
case 7:
query += "v4=" + url[i];
break;
case 8:
query += "v5=" + url[i];
break;
case 9:
query += "v6=" + url[i];
break;
case 10:
query += "v7=" + url[i];
break;
}
}
}
//newurl
string newurl = path + file + ".aspx?" + query;
if( context.Request.ServerVariables["QUERY_STRING"] != null context.Request.ServerVariables["QUERY_STRING"] != "" )
newurl += "" + context.Request.ServerVariables["QUERY_STRING"];
//Response.Write(newurl);
context.RewritePath(newurl);
}

第二種方法是在HttpModule.cs中,代碼如下
復制代碼 代碼如下:

public class HttpModule : IHttpModule
{
private const RegexOptions regexOptions = RegexOptions.IgnoreCase | RegexOptions.Compiled;
private static readonly Regex regexFileName = new Regex(@".*?/([^./]*)\.aspx(.*)", regexOptions);
private static readonly Regex regexRewritePath = new Regex(@"^.*?/(\w*)(-?(\w+)-([\w,\|,%]+))+\.aspx", regexOptions);
public void Dispose()
{
}
public void Init(HttpApplication httpApplication)
{
httpApplication.BeginRequest += ReUrl_BeginRequest;
}
private static void ReUrl_BeginRequest(object sender, EventArgs e)
{
Globals.Catch(
() =>
{
var context = ((HttpApplication)sender).Context;
var request = context.Request;
var url = request.Url;
if (!VerifyUrl(url))
{
string input = url.PathAndQuery.ToLower();
//Loger.Debug("PathAndQuery-->" + input);
//Loger.Debug("AbsolutePath-->" + url.AbsolutePath);
//Loger.Debug("AbsoluteUri-->" + url.AbsoluteUri);
//Loger.Debug("DnsSafeHost-->" + url.DnsSafeHost);
//Loger.Debug("LocalPath-->" + url.LocalPath);
//Loger.Debug("AppDomain.CurrentDomain.BaseDirectory-->" + AppDomain.CurrentDomain.BaseDirectory);
//Loger.Debug("Globals.GlobalsVirtualFilePath-->" + Globals.GlobalsVirtualFilePath);
if (input.StartsWith(Globals.GlobalsVirtualFilePath))
input = input.Remove(0, Globals.GlobalsVirtualFilePath.Length);
string viewmode = Globals.ViewMode;
var themeName = request.QueryString["theme"] ?? "";
if (string.IsNullOrEmpty(themeName))
{
themeName = Globals.ThemeName;
}
if (input == "/")
input = "/index.aspx";
if (viewmode == "Rewrite")
{
Loger.Debug("now input-->" + input);
Match match = regexRewritePath.Match(input);
if (match.Success match.Groups.Count == 5)
{
var captures3 = match.Groups[3].Captures;
var captures4 = match.Groups[4].Captures;
var itemCount = match.Groups[3].Captures.Count;
var list = new Liststring>();
for (var i = 0; i itemCount; i++)
{
list.Add(string.Concat(captures3[i].Value, "=", captures4[i].Value));
}
context.RewritePath(Globals.AspxFileUrl(themeName, match.Groups[1].Value + ".aspx?" + string.Join("", list.ToArray())));
return;
}
}
var fileName = regexFileName.Match(request.Path.ToLower()).Groups[1].ToString();
if (string.IsNullOrEmpty(fileName))
return;
new ConvertTheme(context)
{
ThemeName = themeName,
ViewMode = viewmode
}.Display(fileName);
}
});
}
private static bool VerifyUrl(Uri uri)
{
var url = uri.AbsolutePath.ToLower();
if (url.StartsWith(Globals.GlobalsVirtualFilePath))
url = url.Remove(0, Globals.GlobalsVirtualFilePath.Length);
return uri.IsFile
|| url.IndexOf("site") != -1
|| url.IndexOf("sys") != -1
|| url.IndexOf("html") != -1
|| url.IndexOf("user") != -1
|| url.IndexOf("bbs") != -1
|| url.IndexOf("_module.aspx") != -1
|| url.IndexOf("webresource.axd") != -1
|| url.IndexOf("scriptresource.axd") != -1;
}
}
您可能感興趣的文章:
  • C#實現動態生成靜態頁面的類詳解
  • C#用委托BeginInvoke做異步線程
  • mongodb使用c#驅動數據插入demo
  • C# Winform實現石頭剪刀布游戲
  • c#操作mongodb插入數據效率
  • C#引用類型和值類型的適用場合和區別
  • C#自動類型轉換與強制類型轉換的講解
  • 解析在C#中接口和類的異同
  • C#實現圖片切割、切圖、裁剪
  • C#網站生成靜態頁面的實例講解

標簽:南昌 淄博 南京 臺州 嘉興 揚州 海南 南京

巨人網絡通訊聲明:本文標題《C#中實現偽靜態頁面兩種方式介紹》,本文關鍵詞  中,實現,偽,靜態,頁面,兩種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《C#中實現偽靜態頁面兩種方式介紹》相關的同類信息!
  • 本頁收集關于C#中實現偽靜態頁面兩種方式介紹的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美日韩中文字幕一区| 久久久精品免费免费| 亚洲天堂免费看| 9191精品国产综合久久久久久| 最近日韩中文字幕| av欧美精品.com| 亚洲三级免费观看| 91丝袜美女网| 亚洲成人精品一区| 欧美伦理电影网| 天使萌一区二区三区免费观看| 欧美色精品天天在线观看视频| 一区二区在线观看不卡| 色综合网站在线| 亚洲大型综合色站| 欧美一区二区视频观看视频| 久久97超碰色| 亚洲国产中文字幕| 日韩精品一区二区三区视频在线观看| 极品尤物av久久免费看| 国产精品视频yy9299一区| 色综合久久88色综合天天6| 亚洲gay无套男同| 精品国精品国产尤物美女| 成人视屏免费看| 亚洲高清在线视频| 久久这里只有精品6| 91影院在线免费观看| 天天操天天干天天综合网| 欧美老肥妇做.爰bbww| 国产一区二区调教| 一区二区三区中文在线观看| 日韩一区二区免费高清| 99视频热这里只有精品免费| 亚洲伦理在线精品| 日韩一区二区三区四区| 久久成人精品无人区| 自拍偷在线精品自拍偷无码专区| 欧美精品99久久久**| 国产伦精品一区二区三区视频青涩 | 国产精品一区二区在线观看网站| 国产精品成人免费在线| 欧美三级韩国三级日本三斤| 日产国产高清一区二区三区| 无吗不卡中文字幕| 成人永久免费视频| 日本亚洲一区二区| 中文字幕亚洲精品在线观看 | 一区二区在线电影| 国产日韩v精品一区二区| 欧美丝袜丝交足nylons| 国产乱码字幕精品高清av| 亚洲第四色夜色| 亚洲视频在线观看一区| 欧美成人精精品一区二区频| 色94色欧美sute亚洲线路二| 精品在线亚洲视频| 亚洲福利视频一区二区| 久久尤物电影视频在线观看| 色吊一区二区三区 | 懂色av一区二区三区免费看| 日本不卡在线视频| 亚洲午夜久久久久中文字幕久| 中文字幕乱码亚洲精品一区| 精品欧美一区二区在线观看| 欧美日韩一区二区在线观看视频 | 欧美日韩不卡一区二区| 91在线精品一区二区三区| 韩国精品久久久| 午夜精品久久久久久久蜜桃app| 最新国产の精品合集bt伙计| 中文字幕av一区二区三区免费看| 欧美一级黄色片| 欧美日韩日日摸| 欧美性大战久久| 在线看国产一区| 91丨porny丨最新| 99国产精品久久久久久久久久 | 亚洲综合图片区| 亚洲欧美二区三区| 中文字幕中文字幕一区| 亚洲特级片在线| 成人黄色一级视频| 国产在线视频一区二区| 精品一区二区三区在线播放视频| 日本vs亚洲vs韩国一区三区| 日韩电影网1区2区| 免费av网站大全久久| 美女网站一区二区| 狠狠色狠狠色综合系列| 国产一区二区三区香蕉| 狠狠色综合色综合网络| 国产99久久久精品| 成人精品小蝌蚪| 99视频精品免费视频| 在线观看免费一区| 欧美喷潮久久久xxxxx| 欧美一区午夜精品| 久久久久久久网| 日韩丝袜美女视频| 日韩欧美在线影院| www激情久久| 最新欧美精品一区二区三区| 一区二区三区高清在线| 天天综合天天综合色| 久久精品国产免费| 粉嫩欧美一区二区三区高清影视| 99久久精品国产麻豆演员表| 在线亚洲免费视频| 日韩免费成人网| 国产精品色婷婷| 亚洲一线二线三线视频| 热久久久久久久| 丁香网亚洲国际| 色天使久久综合网天天| 欧美日本一道本| 久久久综合视频| 亚洲日本在线看| 美女网站视频久久| 成人精品一区二区三区四区| 欧美日本一道本| 亚洲国产精品黑人久久久| 亚洲风情在线资源站| 狠狠色丁香久久婷婷综| 91网站视频在线观看| 欧美一区二区二区| 国产精品久久久久久久久晋中| 亚洲一区二区在线免费看| 国产中文字幕精品| 欧美日高清视频| 亚洲欧洲www| 久久av资源站| 欧美亚洲综合久久| 国产婷婷色一区二区三区| 精品伦理精品一区| 亚洲一区二区欧美| 国产精品一区专区| 欧美色精品在线视频| 国产亚洲欧美日韩日本| 一区二区免费视频| 午夜欧美在线一二页| a级高清视频欧美日韩| 日韩午夜电影av| 亚洲丰满少妇videoshd| av一区二区三区| 精品日产卡一卡二卡麻豆| 怡红院av一区二区三区| 成人天堂资源www在线| 精品国产伦一区二区三区观看方式 | 日本韩国欧美一区| 久久综合久久综合九色| 日韩主播视频在线| 日本精品一级二级| 国产精品短视频| 国产精品99久久久久久久vr| 日韩美女天天操| 婷婷成人综合网| 欧美三区在线视频| 亚洲私人黄色宅男| 大胆欧美人体老妇| 欧美一卡在线观看| 樱桃视频在线观看一区| 99精品热视频| 国产精品国产三级国产普通话三级| 青青草原综合久久大伊人精品| 欧美丝袜自拍制服另类| 亚洲一二三区不卡| 91福利精品视频| 亚洲图片欧美激情| av福利精品导航| 国产精品美女久久久久久| 激情综合色播激情啊| 欧美一级片在线观看| 日韩精品亚洲一区| 91精品午夜视频| 美女免费视频一区| 日韩欧美中文字幕精品| 另类人妖一区二区av| 日韩精品一区二| 国产一区二区三区在线观看免费| 久久综合给合久久狠狠狠97色69| 国产揄拍国内精品对白| 久久久久久久久久久久电影 | 日韩av在线播放中文字幕| 欧美日韩电影一区| 丝袜诱惑亚洲看片| 欧美电影免费观看高清完整版在| 国产尤物一区二区在线| 中文字幕中文字幕一区| 欧美亚洲一区三区| 久久精品国产精品青草| 久久久久久久久久久电影| 成人动漫视频在线| 亚洲人快播电影网| 日本乱人伦aⅴ精品| 午夜精品福利在线| 久久这里只有精品视频网| 99久久综合99久久综合网站| 亚洲激情五月婷婷| 日韩欧美色电影|