2013-6-29

1. 未定义的命名空间前缀“xsd”

上周在项目开发中遇到这样的一个问题,在一个页面用到了自定义的Picker控件,在IE6、7、8、9以及IE10兼容模式下都没有任何问题,但是一换到IE10时已选择相应的Picker项时就会报错。错误提示为“未定义的命名空间前缀‘xsd’”。

在网上找到了相应的解决方案,说是只要在使用自定义控件的页的<head></head>标签中添加以下代码即可:

<meta http-equiv="X-UA-Compatible" content="IE=8"/>

但是试过之后依然不行,然后接着在网上搜了下以上的那行代码,又找到了一篇相应的文章。

X-UA-Compatible是针对 IE8 版本的一个特殊文件头标记,用于为 IE8 指定不同的页面渲染模式,对于ie8之外的浏览器是不识别的。目前绝大多数网站都用<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >来作为IE8的兼容方法。为了解决在IE10下出现的页面错误,这里我直接将IE10使用IE8作渲染。即在〈head〉</head>节点中添加如下代码:

<meta http-equiv="X-UA-Compatible" content="I EmulateIE8" />

或许有人会问了,EmulateIE8跟8有什么区别呢?请看下图:

渲染引擎示意图

从图中可以看到,EmulateIE8所支持的范围远远要比IE8高很多,所以使用EmulateIE8更能够包容很多兼容性的问题。关于浏览器模式问题,有兴趣的朋友可以参考一下文章http://yiminghe.iteye.com/blog/802021

2.    <%%>、<%=%>、<%$%>、<%#%>、<%@%>各自的用法

<%%>

主要用在HTML页中,在<%%>之间可以写后台的服务端代码。如下:

<%

For(int i=0;i<116;i++)

{

i=i+1;

}

%>

<%=%>

等价于Response.Write,主要用于获取后台的变量/属性值,或者调用后台有返回值的函数。如下所示:

<Label id=”lb1” runat=”server” text=’<%=SayHello(‘Olive’)%>’/>

后台有一个SayHello函数,返回值为string

Public string SayHello(string name)

{

Return “hello “+name;

}

这里需要注意两点。

  1. 所调用的后台函数访问属性至少要在protected以上,否则前台页面是访问不到后台的函数的。
  2. 所访问的后台函数必须有返回值,如果没有返回值就会报错。

<%$%>

表达式的一个常见用途是根据存储在 Web.config 文件中的连接字符串的值设置控件(如 SqlDataSource 控件)的连接字符串属性。例如,您可能具有包含连接字符串属性的以下 SqlDataSource 控件:
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" 
    SelectCommand="SELECT * FROM [Test]"
    ConnectionString="<%$ ConnectionStrings:TestConnectionString %>">
</asp:SqlDataSource>

<%#%>

该语法多用于asp.net数据绑定控件的绑定语法,一般的形式如下:

<%#Eval(‘字段名’)%>或<%#Bind(‘字段名’)%>,这两种方式分别为静态和动态绑定

<%@%>

该语法主要是用来导入,最熟悉的场景就是在aspx页的顶部都会有,如下的代码:

<%@Page.......%>

该行代码的意思是定义Asp.NET页分析器和编译器使用的特定于页的属性,只能包含在aspx页中。

除此之外还有其他的引用如下,有兴趣的朋友可以自行参考。

@ Control 
定义 ASP.NET 页分析器和编译器使用的控件特定属性。只能包含在 .ascx 文件(用户控件)中。
@ Import 
将命名空间显式导入页或用户控件中。
@ Implements 
以声明的方式指示页或用户控件实现指定的 .NET Framework 接口。
@ Register 
将别名与命名空间及类名关联起来,从而允许用户控件和自定义服务器控件在被包括到请求的页或用户控件时呈现。
@ Assembly 
在编译过程中将程序集链接到当前页,以使程序集的所有类和接口都可用在该页上。
@ Master 
标识 ASP.NET 母版页。
@ PreviousPageType 
提供用于获得上一页的强类型的方法,可通过 PreviousPage 属性访问上一页。
@ MasterType 
为 ASP.NET 页的 Master 属性分配类名,使得该页可以获取对母版页成员的强类型引用。
@ OutputCache 
以声明的方式控制页或用户控件的输出缓存策略。
@ Reference 
以声明的方式将页或用户控件链接到当前页或用户控件。

今天就总结到这里,希望可以给大家带来些帮助。

每日学习心得:未定义的命名空间前缀"xsd"问题和<%%>、<%=%>、<%$%>、<%@%>的区别的更多相关文章

  1. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  2. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

  3. 每日学习心得:Js基本数据类型常用方法扩展

    2014-02-17 前言: 节后的第一周上班,整个状态调整的还不错,已完全进入正常的工作状态.这一周主要还是对年前项目存在的一些问题进行完善.修整,基本上没有做大的改动.这里就把项目中经常用到的一些 ...

  4. 每日学习心得:$.extend()方法和(function($){...})(jQuery)详解

    2014-02-09 前言: 节后头两天上班,主要是调整工作状态.项目也不是很紧,趁着周末把年前遇到了一些关于JS和JQuery的一些问题给总结一下.主要是介绍JQuery的extend方法和(fun ...

  5. 每日学习心得:UEditor样式被过滤无法显示问题

    前言: 上周开发中有用到开源的富文本编辑器UEditor,在使用的过程中遇到了样式被过滤无法显示问题,经过一番折腾终解决,此外,还有一些关于获取前台界面元素的一些总结. 1. UEditor样式被过滤 ...

  6. 每日学习心得:Js获取Checkboxlist所选值、instanceof 和typeof区别、为Array添加contains方法

    2013-11-24 前言: 上周在工作中遇到了一些跟JS以及前台交互的问题,虽然算不上多么高深,但是在解决时也走了一些弯路,所以就总结一下. 1.    JS获取checkboxList所选的值 这 ...

  7. 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码

    2013-9-15 1.    CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...

  8. 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)

    2013-8-20 1.    SQL查询表的行列转换/小计/统计(with  rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...

  9. 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题

    2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...

随机推荐

  1. 【转】 Understanding Component-Entity-Systems

    http://www.gamedev.net/page/resources/_/technical/game-programming/understanding-component-entity-sy ...

  2. magento中比较好的博客

    magento web-开发   http://www.magentofront-end.com/magentomuban/category/web-frontend 水水博客专栏   http:// ...

  3. MINIX3 内核时钟分析

    MINIX3 内核时钟分析  4.1 内核时钟概要  先想想为什么 OS 需要时钟?时钟是异步的一个非常重要的标志,设想一下,如 果我们的应用程序需要在多少秒后将触发某个程序或者进程,我们该怎么做到? ...

  4. PAT (Basic Level) Practise:1006. 换个格式输出整数

    [题目链接] 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它 ...

  5. platanus

    nohup  platanus assemble -o Larrrea -f ../unknown_NoIndex_L000_R1.fastq ../unknown_NoIndex_L000_R2.f ...

  6. Python 结巴分词

    今天的任务是对txt文本进行分词,有幸了解到"结巴"中文分词,其愿景是做最好的Python中文分词组件.有兴趣的朋友请点这里. jieba支持三种分词模式: *精确模式,试图将句子 ...

  7. spring学习笔记--quartz和定时任务执行

    前言: 最近要写一个定时任务, 用于同步数据. 以往这种涉及数据库操作的定时脚本, 都会采用python+crontab的方式来实现. 这次画风大转, 决定试试用spring+quartz来实现一下. ...

  8. 319. Bulb Switche

    There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every ...

  9. 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分

    I Count Two Three Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  10. 《C标准库》——之<stdarg.h>

    C语言有个很强大的功能,依靠它,实现了printf等这类有着变长参数列表的函数或者宏.它就是在<stdarg.h>里的变长参数. 内容: va_list :它是一个适合保存va_start ...