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 
以声明的方式将页或用户控件链接到当前页或用户控件。

转<%%>、<%=%>、<%$%>、<%@%>的区别的更多相关文章

  1. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  2. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  3. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  4. 探究@property申明对象属性时copy与strong的区别

    一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...

  5. X86和X86_64和X64有什么区别?

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为&qu ...

  6. Java中Comparable与Comparator的区别

    相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...

  7. MySQL中interactive_timeout和wait_timeout的区别

    在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR (HY000): Lost connection to MySQL server ...

  8. 设置line-height:1.5和line-height:150%或者line-height:150px的区别

    直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...

  9. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  10. select、poll、epoll之间的区别总结

    select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...

随机推荐

  1. AngularJS Best Practices: ASP.NET MVC Directory Structure

    /Content----- images/ // Images for your app----- css/ // Styles for your app/Scripts----- libs/ // ...

  2. leetcode 374

    这个题目很简单,但是要注意细节和对题目的理解,一开始我把guess函数的作用理解错了,第一版代码长这样: int guessNumber(int n) { ; int high = n; while( ...

  3. linux 下查看系统资源和负载,以及性能监控

    1,查看磁盘   df -h   2,查看内存大小   free   free [-m|g]按MB,GB显示内存   vmstat   3,查看cpu   cat /proc/cpuinfo   只看 ...

  4. c/c++ 数据结构 链表插入数据代码(二)

    如果参数传递不使用使用指针的指针,也不使用引用. #include <stdio.h> #include <stdlib.h> typedef struct LNode{ in ...

  5. windows安装TortoiseGit详细使用教程

    标签:tortoisegit 环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 别下载错,不习惯英文的朋友,也可以下个语言包] 一.安装图解: ...

  6. 十九、Java基础--------IO流之字节流

    在上一篇文章中介绍了IO体系以及一些基本概念和字符流的相关应用,本文着重介绍字节流的相关操作. 字节流 它的操作与字符流类似,可以参与字符流的定义.读取.写入.处理异常的格式,只不过是处理的数据不同, ...

  7. confluence重置admin密码

    复方法: 1. 运行此sql 找到你的管理员帐户: select u.id, u.user_name, u.active from cwd_user u join cwd_membership m o ...

  8. 使用 supervisor 管理进程

    安装: # yum install python-setuptools # easy_install supervisor 如果已经安装了epel和python-pip, 也可以简单 pip inst ...

  9. 读取NfcA格式数据

    如何读取数据? Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); NfcA nfcA = NfcA.get(ta ...

  10. 【Python】我的Python学习笔记【1】【using Python 2】

    1.模块格式 #!/usr/bin/env python # -*- coding: utf-8 -*- ... ...def main(): ...... ... if __name__=='__m ...