加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET中的xslt

发布时间:2020-12-15 07:43:59 所属栏目:百科 来源:网络整理
导读:我对ASP.NET知之甚少,不得不在某些ASP.NET网页中修复一些破坏的布局. 以下代码: 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"x
我对ASP.NET知之甚少,不得不在某些ASP.NET网页中修复一些破坏的布局.
以下代码:
<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>
...

在不匹配的情况下应显示NOTHING,因此它在Internet Explorer 8中显示,但它在较新版本的IE中显示“COLUMNS_DEFINITION”.
我该如何解决?
我在标签上遇到验证错误 – 不支持Element’xml’,顺便说一下.

解决方法

我不认为它与ASP.NET有任何关系. IE(Internet Explorer)用于支持HTML扩展,即所谓的XML数据岛,您可以将XML数据或样式表放入HTML的新专有元素xml元素中.如果你想继续使用那个元素并且有更新版本的IE支持它,那么你需要确保通过发送HTTP头或包含一个元素来设置x-ua兼容到IE 8:
<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上的http://home.arcor.de/martin.honnen/html/test2013112001.html IE 10显示了xml元素内部的XSLT内容,因为HTML 5解析器将头部中的xml内容移动到正文(按F12查看解析树)当使用http://home.arcor.de/martin.honnen/html/test2013112002.html和使用IE 8的元执行时,xml被识别为XML数据岛(按F12以查看解析树)并且不输出XML数据岛内的内容.

Greg,如果您仍有问题,请检查您的ASP.NET是否未发送可能覆盖元的不同HTTP x-ua兼容标头.

这是一个链接: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数据岛.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读