2013-11-15 5 views
7

私はASP.NETについてほとんど知りませんが、いくつかのASP.NET Webフォームではいくつかの壊れたレイアウトを修正する必要があります。 次のコードASP.NETのxslt

<head id="Head1" runat="server"> 
... 
<xml id="dataList_xsl"> 
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:extObject="urn:extObject"> 
<xsl:output method="html" /> 
<xsl:template match="/"> 
    <table unselectable="on" id="my_table_mains" cellspacing="0" cellpadding="3" class="dataListTable view" style="width: 100%;"> 
     <tr unselectable="on"> 
      COLUMNS_DEFINITION 
     </tr> 
... 

が不一致の場合には何も表示しないはずであり、それは、Internet Explorer 8であった、しかし、それはIEの新しいバージョンで「COLUMNS_DEFINITION」を表示します。 どうすれば修正できますか?
タグで検証エラーが発生しました。要素 'xml'はサポートされていません.btw。

答えて

6

私はASP.NETとは関係ないと思います。 というXMLデータアイランドは、XMLデータやスタイルシートをHTMLの新しい独自の要素であるxml要素に置き換えたHTML(HTMLの拡張子)をサポートするために使用されるIE(Internet Explorer)です。あなたはその要素を引き続き使用するとIEの新しいバージョンを持っている場合はx-ua-compatible IE 8に、いずれかのHTTPヘッダを送信することによって、またはmetaを含むことによって、あなたが設定を確認する必要があり、それをサポートしています。

<head> 
    <meta http-equiv="x-ua-compatible" content="IE=8"> 

詳細は、http://msdn.microsoft.com/en-us/library/jj676915%28v=vs.85%29.aspxを参照してください。

私は、Windows 8のIE 10はそれを参照するには、本体にheadセクションに移動xmlものを(プレスF12を持っているHTML 5のパーサとしてxml要素内のXSLTの内容を示してhttp://home.arcor.de/martin.honnen/html/test2013112001.htmlで、2つのテストケースを書きました構文木)http://home.arcor.de/martin.honnen/html/test2013112002.htmlmetaの実行でIE8を使用すると、xmlはXMLデータアイランドとして認識されます(構文解析ツリーを表示するにはF12を押します)。XMLデータアイランド内にはコンテンツが出力されません。

Gregでも問題が解決しない場合は、ASP.NETが別のHTTP x-ua-compatibleヘッダーを送信していないことを確認して、metaを上書きする可能性があります。

ここにリンク:http://msdn.microsoft.com/en-us/library/ie/hh801224%28v=vs.85%29.aspxがあります。これはわずかに異なるメタ<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">を示唆し、最終的にXMLデータアイランドとしてxml要素を認識する従来のパーサーが確実に使用されるようになります。

+0

IE 10を使用しています。 – Greg

+0

@Greg Martinは、IE 10が特定のページのIE8のように動作する原因となるため、このタグをヘッド要素に追加することを推奨しています。 – Nate

+0

私は理解していましたが、それでも動作しませんでした。 – Greg