asp.net中的代码分离模式我们肯定都不陌生,C#(或者其它语言)写的代码一般不会和设计语言HTML混在一起,但是有的时候也避免不了,这时就会在UI页面里用<%%>来绑定显示、绑定变量数据了,今日看到一文章专门对此进行了分析,我进行了一点修正:

一. <%%>

这种格式实际上就是和asp的用法一样的,只是asp中里面是vbs cript或者javas cript代码,而在asp.net中用的是.net平台下支持的语言。

特别注意:服务器控件中不能包含<%%>的语法,否则出错。

如下,我们可以在.aspx页面里出现如下代码: <% int a = 2; int b = 3; int c = a + b; Response.Write(c); %>

另外需要注意的是<%%>标记内的内联代码是在页面呈现的Render过程中执行的
已经接近页面生命周期的尾部。

二. <%#%>

这种格式是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法)

特别注意:只有服务器控件才能用<%#%>的语法

<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();
} } 运行显示出来的效果

三. <%=%>

这种格式经常用到的。 <label id="label1"><%=DisplayStr()%></label><br /> <label id="label2" runat="server"><%=DisplayStr()%></label> aspx.cs代码:

public string DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误 { return "bbbb"; } 运行效果:

四. <%$%>

主要用于引用外部资源

特别注意:1.绑定的只能是服务器控件

2.只能绑定到服务器控件的某个属性上。

以下以获取web.config资源来做实例: <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>

运行都会出现相同的错误: "分析器错误信息:不允许使用类似"<%$ConnectionStrings:pubs%>"类似的文本表达式,请改用……

最后强调:

<%#%><%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%><%=%>和<%%><%%>混合使用

from:http://www.bdqn.cn/news/201303/8412.shtml

asp.net中的<%%>形式的详细用法实例讲解的更多相关文章

  1. asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)

    博客分类: ASP.NET   一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...

  2. $聊一聊"驼峰"和"下划线"——Python re.sub函数详细用法实例讲解

    日常写代码时候会遇到一些字符串替换的操作,比如把一大堆"驼峰"形式的字符串批量转换成下划线形式."驼峰"形式的变量命名风格在Java中很常见,而下划线形式的变量 ...

  3. 【转】java.util.vector中的vector的详细用法

    [转]java.util.vector中的vector的详细用法 ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.uti ...

  4. ASP.NET中的ExecuteNonQuery()方法的用法

    下面我将详细讲解在机房收费系统D层中如何对数据库的增加.删除.修改,最后再来总结一下 ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法: 一.增.删 ...

  5. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  6. asp.net中生成缩略图并添加版权实例代码

    这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图 ...

  7. JavaScript中字符串分割函数split用法实例

    这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...

  8. python中的formatter的详细用法

    今天抽空学习了一下python中的string service中的formatter的相关用法,主要是为了让自己的代码看起来更加和谐,因为很多java或者c语言过来的开发者都不怎么爱使用python的 ...

  9. jquery中attr()与prop()函数用法实例详解(附用法区别)

    本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是a ...

随机推荐

  1. javascript如何监听页面刷新和页面关闭事件

    本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲 ...

  2. 【转】PyDev for Eclipse 简介

      转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/index.html PyDev for Eclipse 是一 ...

  3. Genymotion常见问题汇总(转)

    为什么说是常见问题整合呢,因为我就是Genymotion最悲剧的使用者,该见过的问题,我基本都见过了,在此总结出这血的教训,望大家不要重蹈覆辙.     常见问题1:Genymotion在开启模拟器时 ...

  4. 几种不同风格的Toast

    一般情况下,我们使用Toast默认的风格就行了,只是有些时候为了达到我们自己想要的效果需要自定义一下,包括自定义显示的位置,显示的内容以及完全自定义里面的布局,代码如下: activity: pack ...

  5. Java异常处理面试题归纳

    1.error和exception有什么差别 error表示系统级的错误,是java执行环境内部错误或者硬件问题,不能指望程序来处理这种问题,除了退出执行外别无选择.它是Java虚拟机抛出的. exc ...

  6. Messages的例子

    13.33 13.36 13.37 Message.h #ifndef MESSAGE_H #define MESSAGE_H #include<iostream> #include< ...

  7. Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例

    1. 数据来自于键盘录入 键盘录入数据要自己控制录入结束. 2. 代码实现: (1)发送端: package com.himi.updDemo1; import java.io.IOException ...

  8. CocoaPods 原理分享及遇到的问题改进

    cocoapods 原理分享及问题阐述 cocoapods 管理私有工程,需要两个git 仓库, repo 仓库,保存podspec 文件,告诉我们项目从哪来, 项目 仓库,保存工程文件,告诉我们引用 ...

  9. WPF学习之资源-Resources

    WPF学习之资源-Resources WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性.比如通过Resour ...

  10. Linux删除除了某些文件之外的所有文件(夹)

    例如:删除当前目录下除了.tar.gz和.py结尾的其他文件 shopt -s extglob rm -rf !(*.py|*.tar.gz)