2014-10-31 51 views
-1

我正在開發asp.net中的Intranet網站(混合使用MVC和Webform)。所以在這裏我需要限制用戶使用IE瀏覽器& chrome瀏覽器。限制在asp.net中使用IE

當用戶使用IE瀏覽器,我應該表現出一些信息說「網站不能在IE/Chrome的觀看」,不應允許進一步瀏覽。

任何人都可以幫助我嗎?

+0

這是一個糟糕的設計實際上限制可以使用什麼瀏覽器。相反,您可能會顯示一條警告,例如「您正在使用。此網站的設計目的是爲。爲確保兼容性,建議您使用其中一種瀏覽器。」 – mason 2014-10-31 16:11:58

+0

理想情況下,您應該使用功能檢測代替瀏覽器檢測。請參閱[瀏覽器和功能檢測:讓您的網站無處不在](http://msdn.microsoft.com/zh-cn/hh561717.aspx)。 – mason 2014-10-31 16:22:07

回答

0

這取決於一個簡單的條件,您可以使用由用戶啓動的請求的瀏覽器屬性。例如,

if(Request.Browser.Browser == "IE") { 
    // stop him from browsing, 
} 

這是對Internet Explorer的單個檢查,將應用於所有Internet Explorer版本。

或者根據MSDN,使用CSS,JavaScript或ASP.NET檢測瀏覽器有更好的方法。這裏一看,http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx

+0

感謝您的回覆..我得到了解決方案...但我應該在哪裏放置C#代碼來重定向Parge? – 2014-11-09 07:28:04

+0

在.cshtml頁面的開頭。 :)或任何地方,你正在加載其他C#服務器端代碼。 – 2014-11-09 12:36:37

+0

我正在尋找global.asax文件中的事件。因爲在我的應用程序中我也有MVC和webform。像Begin_request一樣,但仍然在尋找。 – 2014-11-09 16:19:00

0

在頁面加載使用此代碼來檢測IE

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
string name = browser.Browser; 
float version = (float)(browser.MajorVersion + browser.MinorVersion); 
if (name == "IE") 
    { 
      // show message, 
string message = "alert('You are using IE !')"; 
ScriptManager.RegisterClientScriptBlock((sender as Control), this.GetType(), "alert", message, true); 
return; 

    }