【发布时间】:2014-07-24 16:10:14
【问题描述】:
好的,我想让用户只有在浏览器是 Chrome 或 IE8-9 时才能使用该页面。 如您所见,我是从后面的代码中这样做的。并且还试图将主 div 的可行性设置为无。
protected void Page_Load(object sender, EventArgs e)
{
System.Web.HttpBrowserCapabilities browser = Request.Browser;
if (browser.Type.ToString().ToLower().StartsWith("ie"))
{
if (Convert.ToDecimal(browser.Version) < 8 || Convert.ToDecimal(browser.Version) > 9)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "pop", "<script>alert('Your browser is not supported. Please use Chrome or IE7,IE8,IE9');</script>", false);
pagecontainer.Attributes["style"] = "visible:none";
return;
}
}
else if (!browser.Type.ToString().ToLower().StartsWith("chrome"))
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "pop", "<script>alert('Your browser is not supported. Please use Chrome or IE7,IE8,IE9');}</script>", false);
pagecontainer.Attributes["style"] = "visible:none";
return;
}
//blah blah
}
<div id="pagecontainer" runat="server" >Page Content Goes Here</div>
但它似乎并没有隐藏 div。 我知道我总是可以将用户重定向到警告页面或其他东西,但可以说我不想这样做。我的替代方案是什么?
【问题讨论】:
-
pagecontainer 变量在哪里定义?
-
pagecontainer是div的id。
-
使用
runat="server",您也可以使用pagecontainer.Visible = false;。 -
@Bharadwaj 虽然我不是金发女郎,但我正在度过一个金发碧眼的时刻。但是还有其他选择吗?仅供参考。顺便说一句,Scriptmanager 似乎没有出现在屏幕上。任何想法为什么?
-
您为什么要这样做?顺便说一句,你不能可靠地做到这一点,因为用户可以在任何浏览器中伪造他们的用户代理(用户代理字符串是你获取信息的地方,用户正在使用哪个浏览器)
标签: c# javascript jquery css asp.net