xslt

2013-11-15 29 views
7

ASP.NET hakkında çok az şey biliyorum, bazı ASP.NET web formlarında bazı bozuk düzenleri düzeltmem gerekiyor. Aşağıdaki kodu: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> 
... 

hiçbir maçın durumunda HİÇBİRŞEY göstermesi gerekir ve bu nedenle Internet Explorer 8'de oldu, ancak IE yeni sürümlerinde "COLUMNS_DEFINITION" görüntüler. Nasıl düzeltebilirim?
Etikette bir doğrulama hatası alıyorum - Element 'xml' desteklenmiyor, btw.

cevap

6

ASP.NET ile ilgili bir şey olduğunu sanmıyorum. HTML'ye bir uzantıyı desteklemek için kullanılan IE (Internet Explorer) XML veri adaları olarak adlandırılır, burada XML verilerini veya stil sayfalarını HTML'ye, xml öğesinin yeni, özel bir öğesine koyarsınız. O eleman kullanmaya devam etmek istiyorum ve IE daha yeni sürümleri varsa x-ua-compatible IE 8, ya HTTP başlığı göndererek veya meta dahil ederek ayarladığınız emin olmak gerekir, sonra bunu destekleyecek:

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

Ayrıntılar için bkz. http://msdn.microsoft.com/en-us/library/jj676915%28v=vs.85%29.aspx.

Ben Windows 8'de IE 10 http://home.arcor.de/martin.honnen/html/test2013112001.html ile, iki test durumları yazdım vücut (basın F12 head bölümünde xml şeyler görmek için hamle vardır HTML 5 ayrıştırıcı olarak xml elemanın iç XSLT'de içeriğini gösterir ayrıştırma ağacı) http://home.arcor.de/martin.honnen/html/test2013112002.html ve meta IE 8 kullanmak için bir zorlama bir XML veri adası olarak algılanır (ayrıştırma ağacını görmek için F12 tuşuna basın) ve XML veri adasının içindeki içeriği çıktılamaz.

Greg, hala sorun yaşıyorsanız, ASP.NET'inizin meta'u geçersiz kılan farklı bir HTTP x-ua-compatible başlığı göndermediğinden emin olun.

İşte bir link: http://msdn.microsoft.com/en-us/library/ie/hh801224%28v=vs.85%29.aspx. Bu, biraz farklı bir meta <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> önerir; bu, bir XML veri adası olarak bir xml öğeyi tanıyan eski ayrıştırıcının kullanıldığından emin olmak için tutarlıdır.

+0

gerçekten yardımcı olmadı .... IE 10 kullanarak. – Greg

+0

@Greg Martin, bu etiketi IE öğesinin IE8 gibi belirli bir sayfa için davranmasına neden olacağından, baştaki öğenize eklemenizi önerir. – Nate

+0

iyi anladım ve yaptım, henüz işe yaramadı. – Greg