2011-01-06 4 views
0

Ich habe eine Gridview eine seiner Spalten ItemStyle hat eine CSS-Klasse mit dem Namen xyz Ich möchte CSS-Klasse zu xyzie ändern, wenn der Browser IE ist, wie kann ich das tun?Ändern asp.net Komponenten CSS-Klasse, wenn Browser IE

Beispielcode:

<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> 

Ich löste das Problem Antwort mit volpav des,

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

Dank für Ihre Hilfe.

Antwort

1

Sie können den IE-spezifischen conditional comments verwenden.

Dies ermöglicht es Ihnen IE spezifische Klassen hinzuzufügen:

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

In Ihrem CSS würden Sie eine ie Klasse mit spezifischem überwiegendem Verhalten.

+0

@Oded Ich habe das bereits versucht, aber es funktioniert nicht zwischen Tags. – adnanturken

+0

@Oded: Sie haben am Anfang (rechts) erwähnt, dass bedingte Kommentare IE-spezifisch sind. Wenn Sie Ihren Beispielcode verwenden, erhalten Nicht-IE-Benutzer zwei BODY-Tags. – volpav

+0

@ dnn - Wenn Sie Ihren Code veröffentlichen, hilft es den Leuten, das genaue Problem zu verstehen. Veröffentlichen Sie in Zukunft immer den entsprechenden Code. Bitte bearbeiten Sie Ihre Frage und fügen Sie Ihren Code hinzu. Die Antwort von @volpav ist wahrscheinlich, was Sie brauchen. – Oded

1

Sobald Sie die Art des Browsers herauszufinden, können Sie dyanmically CSS ändern. Meine Antwort für this post könnte eine Hilfe sein