2011-01-06 5 views
0

Gridview 중 하나가 항목 열입니다. ItemStyle은 xyz라는 CSS 클래스가 있습니다. IE가 브라우저 인 경우 CSS 클래스를 xyzie로 변경하려고합니다. 어떻게 할 수 있습니까?asp.net 구성 요소 변경 브라우저가 IE 인 경우 CSS 클래스

예제 코드 :

<asp:GridView ID="GridView1" runat="server" 
    AutoGenerateColumns="False" DataKeyNames="y" 
    DataSourceID="SqlDataSource1" GridLines="None" ShowHeader="False" 
    onselectedindexchanged="GridView1_SelectedIndexChanged" 
    AllowSorting="True" CellSpacing="5" 
    onrowdatabound="GridView1_RowDataBound"> 
<Columns> 
    <asp:BoundField DataField="x" HeaderText="x" SortExpression="x" > 
    <ItemStyle CssClass="xyz" /> // want to change this to xyzie if the browser is ie 
    </asp:BoundField> 
</Columns> 
</asp:GridView> 

나는 당신의 도움을 volpav의 답변을 이용하여 문제

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
    if (browser.Browser == "IE") 
    { 
     GridView1.Columns[0].ItemStyle.CssClass = "xyzie"; 
    }  
    else { GridView1.Columns[0].ItemStyle.CssClass = "xyz"; } 

감사를 해결했다.

답변

1

IE 특정 conditional comments을 사용할 수 있습니다.

이것은 당신이 IE 특정 클래스를 추가 할 수 있습니다 : 당신의 CSS에서

<!--[if IE ]> 
    <body class="ie"> 
<![endif]--> 
<!--[if !IE]>--> 
    <body> 
<!--<![endif]--> 

을 특정 최우선 행동과 ie 클래스를 가질 것이다.

+0

@Oded 나는 이미 시도했지만 그것을 태그 사이에서 작동하지 않습니다. – adnanturken

+0

@Oded : 처음에는 조건부 주석이 IE와 관련이 있다고 (오른쪽) 언급했습니다. 귀하의 예제 코드를 사용하여 IE 사용자가 아닌 경우 두 개의 BODY 태그가 생성됩니다. – volpav

+0

@dnn - 코드를 게시하면 사람들이 정확한 문제를 이해하는 데 도움이됩니다. 앞으로는 항상 관련 코드를 게시하십시오. 질문을 수정하고 코드를 추가하십시오. @volpav의 대답은 아마도 필요한 것일 것입니다. – Oded

1

, 당신은 dyanmically CSS를 변경할 수 있습니다. this post에 대한 내 대답은 약간의 도움이 될 수 있습니다