2010-03-17 163 views
0

我是一个新手C#程序员。我在xhtml中遇到问题。我想检查一下,如果浏览器是IE6或不。例如,如果ie6那么div id =“div1”style =“display:block;” else div id =“div1”style =“display:none;”> 如何控制浏览器并在xhtml中使用if子句?如何在xhtml中使用“if子句”?

+0

你的意思是有条件的意见(这是特定于IE,而不是XHTML功能)? – kennytm 2010-03-17 20:23:27

+1

@ Kenny:关于这些的好处是它们也不是无效的标记。就非特定功能而言,这是我曾经喜欢过的其他浏览器中的功能。与流行的观点相反,所有非IE浏览器也有执行bug :) – Joey 2010-03-17 20:28:28

+0

我发现了这样的事情,这就是我想要的: <%int BrowserStatus; BrowserStatus = Request.ServerVariables [ “HTTP_USER_AGENT”]的ToString()的IndexOf( “MSIE 6.0”)。。 如果(BrowserStatus> -1) { 回复于( “1”); } 别的 { 回复于( “2”); } %> – 2010-03-17 21:15:55

回答

0

有条件的意见是最简单的,你也可以做到这一点的服务器端...

<% if (HttpContext.Request.UserAgent.Contains("internet explorer 6")) //Not sure what the exact name is, need to look it up. 
{%> 
    //HTML 
<%}%> 
+0

这个工作保罗,谢谢:) – 2010-03-17 21:13:37

2

分配给您的DIV一个永久性风格:

<div id="div1" class="jumping-div"></div> 

定义的默认样式:

style1.css:

div.jumping-div 
{ 
    display:none; 
} 

然后创建另一个样式表,这将重新定义类:

style2.css:

div.jumping-div 
{ 
    display:block; 
} 

然后使用条件检查可以包括另一个样式表:

<link href="style1.css" rel="Stylesheet" type="text/css" /> 

<!--[if IE 6]> 
    <link href="style1.css" rel="Stylesheet" type="text/css" /> 
<![endif]--> 
+0

我知道这一点,但这不是我期待的,我必须使用“其他”的语句吗? – 2010-03-17 20:28:10

+0

恐怕没有“其他”部分。检查规格:http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx – 2010-03-17 20:31:46