2012-03-23 61 views
0

我想從我的Global.asax文件中的Application_BeginRequest查詢數據庫以從數據庫中獲取我當前的301而不是純代碼。在Application_BeginRequest(Global.asax)查詢數據庫

但我似乎無法找到如何做到這一點,我不能寫SqlConnection或類似我習慣於當我即將開始一個SQL查詢。

它甚至有可能得到這種類型的代碼:

if (Request.Url.ToString() == "http://www.mywebsite.com") 
    { 
     Response.Status = "301 Moved Permanently"; 
     Response.AddHeader("Location", "http://www.mywebsite.org"); 
    } 

從數據庫中生成的?如果是這樣,我該怎麼做?我試圖搜索,但我似乎無法找到任何解決方案,我的問題。答案將不勝感激!

/Lucas

+0

僅供參考:您可以使用Response.RedirectPermanent(「http://www.mywebsite.org」); – Win 2012-03-23 14:21:57

回答

0

你已經寫正確的代碼,就可以繼續和實施的SqlCommand從數據庫

獲取數據

例如

//Write SQLCommand to get the data in url variable, suppose you have GetDataFromDatabase method written in your helper static class or somewhere else in the page gives stored url from database 

string url = GetDataFromDatabase(); 

if (Request.Url.ToString().ToLower().Equals(url.ToLower())) 
{ 
    Response.Status = "301 Moved Permanently"; 
    Response.AddHeader("Location", url); 
} 
0

應該是可以的,是的。你可以做到以下幾點:

  • 從您表,其中的URL是等於 Request.Url.ToString()選擇一行。

  • 如果一行被返回,你知道你需要重定向。

  • 從該行採取的新網址,並使用在 Response.AddHeader呼叫