在asp.net中经常出现包含这种形式<%%>的html代码,总的来说包含下面这样几种格式:
一.  <%%>
这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。
特别注意:服务器控件中不能有<%%>语法
(这里用C#代码)
  <%
        int a = 2;
        int b = 3;
        int c = a + b;
        Response.Write(c);
    %>二. <%#%>
如 果是这种格式的话那就是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面 Page.DataBind()也就是对所得控件都调用DataBind()方法,在这种情况下不管是服务器控件还是客户端控件都会绑定)
特别注意:一般只有服务器控件才能用<%#%>语法(不准确的)
当整个页面调用this.DataBinder()方法时,不管是服务器控件还是客户端控件都会绑定
<div>
Server Control:<asp:TextBox ID="TextBox1" runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control-->
Client Control:<input type="text" id="textbox2" value="<%#text%>" /><!--Client Control-->
</div>aspx.cs代码如下:   protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.text = "aaaaaaaaaaaaa";
                this.TextBox1.DataBind();//或this.DataBind();              
            }
        }
当this.TextBox1.DataBind()  运行显示出来的效果(无法插入图片自己测试)
this.DataBind() 运行显示出来的效果(无法插入图片自己测试)
三.  <%=%>
这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.
aspx代码:   <label id="label1"><%=DisplayStr()%></label><br />
  <label id="label2" runat="server"><%=DisplayStr()%></label>aspx.cs代码:  public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
        {
            return "bbbb";
        }
四.<%$%>
这种形式主要用于对web.config文件的键值对进行绑定:通常用于连接数据库的字符串
特别注意:1.绑定的只能是服务器控件 
         2.只能绑定到服务器控件的某个属性上。
<asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>"></asp:TextBox> web.config文件如下:  <connectionStrings>
    <add name="pubs" connectionString="Server=.;database=pubs;uid=sa;pwd=" providerName="System.Data.SqlClient"/>
  </connectionStrings>这样就能正常运行。
如 果修改aspx中的文件:使用客户端的控件  <input type="text" value="<%$ConnectionStrings:pubs%>"/>或者:不绑定到服务器控件的某个属性上 <asp:TextBox runat="server" ID="cc"><%$ConnectionStrings:pubs%></asp:TextBox>
运行都会出现相同的错误
最后注意一点: 
<%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用
补充:
针对:<%=%>形式:
另外一种情况:
aspx代码:           <input type="text" id="a"  value=<%=DisplayStr()%> />
          <input id="Text1" type="text"  runat="server" value=<%=DisplayStr()%> />aspx.cs代码:
public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
        {
            return "bbbb";
        }如果是这样的情况的话,就出现运行时错误。最后对这种<%=%>用法强调一句:尽量对客户端控件用这种形式,毕竟它是asp常用语法,不会出现问题。
但是对于asp.net的服务器控件就可能不能完全适合的

转载于:https://www.cnblogs.com/zhouss/p/4937563.html

ASP.NET %%,%=%,%#%区别相关推荐

  1. ASP.NET Core与ASP.NET区别

    随着.NET的发展,.NET Core对跨平台支持得越来越好,ASP.NET Core能运行在Windows.macOS 或 Linux 上,这就意味着ASP.NET Core开发的网站,可以在除了W ...

  2. (转)asp和asp.net区别

    ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能 ...

  3. asp是什么文件?html和asp的区别?(HTML是客户端语言,主要用于创建静态网页;asp是服务器端语言,用于设计用户交互式页面或动态页面)

    1.HTML是一种客户端语言,它允许Web浏览器解析并显示在标签之间写入的内容,允许把图像和对象嵌入到网页中.ASP是一种服务器端语言,这意味着写入的代码将被发送到服务器中,并根据要求执行的操作返回一 ...

  4. ASP.NET和ASP的区别?

    ASP.NET和ASP的最大区别在于编程思维的转换以及功能的增强.         ASP使用VB/JS这样的弱类型.面向结构的脚本语言混合html来编程,         而非面向对象,这就明显产生 ...

  5. ASP.NET学习篇之——与ASP的区别

    概述 在上一篇文章中我们将框架进行了讲解,这篇文字我们重点来学习下ASP与ASP.NET的区别. 执行效率 在讲解之前我们先来理解一下程序执行的两种方式,分别是解释性程序执行方式和编译性程序执行方式. ...

  6. asp.net % = #区别

    <% = %>是将网页中定义的变量的值赋给控件: 例如:<input name="T_ClientAdd" type="text" id=&q ...

  7. asp和asp.net有什么区别?

    ASP.NET背后有一个完整的.NET   Framework支撑 什么是   ASP.NET? ASP.NET   是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的   Web   ...

  8. 基础tips:.NET和ASP.NET还有ASP到底是什么?客户端WinForm和WPF的区别?前端三大框架,webpack和vite的比较,android三大框架.

    1..NET和ASP.NET分别是什么? .NET是微软的一个开发平台,其主要核心就是.NET Framwork,这个平台的一大特点就是跨语言性,不管是什么语言,c.c++.c#.F#.J#.vb等语 ...

  9. 从零开始学ASP.NET(基础篇)

    原作者:蓝鲸 出处:5D多媒体 学ASPNET与ASP有区别,这种区别不是语言上的,而是思路上的区别.ASP是纯面向过程的,而ASPNET是完全面向对向的.这种区别使我们在编程的结构设计上要与ASP有 ...

最新文章

  1. 防止人为误操作MySQL数据库技巧一例
  2. wallfall瀑布流的jq实现
  3. 小站教育携手神策数据,数据赋能留学语言培训教育的智能化探索
  4. Jquery 日期差函数 修改 对火狐进行兼容
  5. 第三方登录 人人php,人人网第三方登录接口方案
  6. 北大FAIR自动化所快手提出基于动量对比学习的层次Transformer—HiT,用于视频文本检索!代码已开源!...
  7. Received status code 403 from server: Forbidden
  8. android 玩pc游戏,Shield掌机试玩: Android系统 可玩PC单机游戏
  9. 38..Node.js工具模块---底层的网络通信--Net模块
  10. PAT (Basic Level) Practice1020 月饼
  11. kb4524157安装失败_KB4551762安装失败怎么办_KB4551762更新无法安装解决方法 - 系统家园...
  12. ndo2db: Warning: Retrying message send. This can occur
  13. IDEA之非常复制黏贴
  14. 使用go语言提取ins视频地址和图片地址
  15. Android 开源项目分类汇总--1
  16. js绑定onblur事件
  17. Cmake 配置 arm-oe-linux-gnueabi-gcc 交叉编译
  18. .Net Core 6.0 解决跨域
  19. java输入和输出路径_Java输入输出
  20. Python 包(package)

热门文章

  1. Optiver Career Fair
  2. 基于便签纸的无限延生学习方法
  3. engineering likes?
  4. 其实跑步花不了多少时间
  5. MacBook的mission control的功能
  6. 大学的很重要的元素是圈子,是人气
  7. 测试开发面试准备之HTTP协议-一次完整的Http请求过程
  8. windows配置java运行环境
  9. Redis 入门笔记
  10. Linux安装Redis服务