<%%>创建内联代码块(表达式)
其实<%%>很早之前就见过了,只是会用一点功能,其它的不甚了解。今天偶尔见到了它的庐山真面目,现在共享给大家。
语法
代码块呈现(<%%>)定义了当呈现页时执行的内联代码或内联表达式,它的具体语法如下:
<%code%>//内联代码
<%=expression%>//内联表达式
使用内联代码可以定义独立的行或代码块。它是呈现页面的过程中执行的服务器代码。关于嵌入式代码块的使用说明,如下:ASP.NET网页中支持嵌入式代码块,主要用于保留与旧的ASP技术的向后兼容性。一般情况下,将嵌入式代码块用于复杂的编程逻辑并不是最佳做法,因为当页中的代码与标记混合时,很难进行调试和维护。此外,由于代码将在呈现页的过程中执行,因此与将代码至于适当的页处理阶段以执行后台代码或脚本块代码相比,灵活性大大降低。
嵌入式代码块的部分用途包括:
将控件元素或标记元素的值设置为函数返回的值。
将计算直接嵌入到标记或控件属性中。
示例
示例1:在页面上输出5行标记为“信息技术提高班”的字符串,运行效果如图:
代码如下:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="TestLocalData.WebForm1" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title>测试内联代码</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <!--打印5行字符串-->
- <%for (int i = 1; i <=5; i++) %>
- <%{ %>
- <%Response.Write("信息技术提高班"); %><br />
- <%} %>
- </div>
- </form>
- </body>
- </html>
- </span>
示例2:内联表达式是调用Write方法的快捷方式。<%=expression%>用于解析表达式,并将其值返回到块中。以下示例代码通过使用内联表达式显示GetTime方法的值,运行效果如图所示:
代码如下:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="TestLocalData.WebForm2" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title>测试内联表达式</title>
- <script runat="server">
- protected String GetTime() {
- return DateTime.Now.ToString("t"); //获取当前时间hh:mm
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- 当前时间是:<%=GetTime() %>
- </div>
- </form>
- </body>
- </html></span>
注意:代码块中的代码必须使用该页的默认语言进行编写。例如,如果该页的@Page指令包含属性language=”C#”,则该页将使用Visual C#编译器对标有runat=server的所有脚本块中的代码,以及<%%>代码块中的所有内嵌代码进行编译。
示例3:应用<%%>代码块来实现ASP.NET中简单的属性绑定。
首先了解什么是数据绑定。数据绑定不仅可以直接输出一般输出语句可以输出的数据类型,还可以输出任何一种符合数据绑定要求的数据源,而且对于不同的数据显示控件对数据源的处理可以不一致,也可以根据情况的改变而动态地发生变化。也就是说,在数据绑定中,数据的显示是由数据源和数据显示控件共同决定的。数据源决定数据的内容,数据显示控件决定数据的显示方式。实际上,数据绑定的作用机制就是由数据显示控件调用数据源的方法得到数据的。
数据绑定的语法如下:
<语言标记…属性’<% 数据绑定表达式 %>’runat=”server”>
如果将表达式的结果直接输出到网页上,那么数据绑定的语法如下:
字符串:<% 数据绑定表达式 %>
示例运行结果如图:
下面介绍程序实现的主要步骤(正常情况下应该从数据库中获取,这里为了演示方便就绑定死的数据了):
(1)新建一个aspx页面,在前台页面代码中定义两个公共属性,这两个属性作为绑定数据时的数据源;之后应用<%%>代码块将它与显示控件之间建立绑定关系,完整示例代码如下:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="TestLocalData.WebForm3" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title>数据绑定表达式测试</title>
- <script runat="server">
- public String Name {
- get { return "lc"; }
- }
- public String Sex {
- get { return "male"; }
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- 简单属性绑定<br />
- 姓名:<%#Name %><br />
- 性别:<%#Sex %>
- </div>
- </form>
- </body>
- </html>
- </span>
说明:基于属性的数据绑定所涉及的属性必须包含get访问器,因为在数据绑定过程中,数据显示控件需要属性的get访问器中从属性中读取数据
(2)绑定完成之后,只需要在页面的Page_Load事件中调用Page类的DataBind方法,来实现在页面加载时读取数据,代码如下:
- <span style="font-family:KaiTi_GB2312;font-size:18px;">protected void Page_Load(object sender, EventArgs e)
- {
- Page.DataBind();
- }
- </span>
我们在见到一个陌生的知识或者名词之后不应该只是停留在会用的层次上,而应向“知其然知其所以然”靠拢,了解来龙去脉,哪怕掌握不了,最起码也要知道。对于经常使用的知识点扩展查完之后还需要进行消化、实践,这样才能拓展自己的眼界,并在面对该知识的变种之后能够从容的面对。
<%%>创建内联代码块(表达式)的更多相关文章
- <%%>创建内联代码块(表达)
其实<%%>很早之前见过它,将一个小的功能仅.别人不理解.今天偶尔,我们看到它的真面目,今天,给大家分享. 语法 代码块呈现(<%%>)定义了当呈现页时运行的内联代码或内联表达 ...
- Asp.Net 之 <%%>相关内联代码块用法
1.<%@ ... %> 用来添加命名空间引用,如:<%@ import namespace="system.data"> 2.<% ... %> ...
- MVC 之 <%%>相关内联代码块用法
1.<%@ ... %> 添加引用; 2.<% ... %> <%%>之间可以执行服务端代码,如<% foreach (DataRow dataRow in ...
- 【转载】ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)
ASP.NET 内联代码.内联表达式.数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号) 今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对 ...
- ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)
今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对ASP.NET 内联代码.内联表达式.数据绑定表达式的概念进行罗列,详细概念以及基本的用法我就不在这里罗嗦了,请 ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- Box Model,边距折叠,内联和块标签,CSSReset
一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...
- CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset
目录 一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三. ...
随机推荐
- Cisco交换机解决网络蠕虫病毒入侵问题
Cisco交换机解决网络蠕虫病毒入侵问题 今年来网络蠕虫泛滥给ISP和企业都造成了巨大损失,截至目前已发现近百万种病毒及木马.受感染的网络基础设施遭到破坏,以Sql Slammer为 ...
- 【实用篇】Android之应用程序实现自动更新功能
我个人用的是友盟提供的自动更新组件,因此在这里只描述如何实用友盟提供的组件来完成程序的自动更新,步骤如下: 1.登录友盟官网,点击注册一个友盟账号. 2.注册成功后将会自动进入到添加新应用界面,选择添 ...
- Alternating Sum
http://codeforces.com/problemset/problem/963/A 不考虑正负的话,每两项之间之间公比为b/a,考虑正负,则把k段作为循环节,循环节育循环节之间公比为(b/a ...
- ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下 ...
- idea和Pycharm 等系列产品激活激活方法和激活码
引用自大神:雪中皓月原文链接 --------------------- 以下两种方法均可用于激活Idea,Pycharm等jetbrains系列产品第一种方法:使用现有的注册服务器优点:快捷,方便, ...
- <QT障碍之路>QApplication:No such file or directory
原因:QT5将很多部件都移动了QT widgets模块中. 解决方法: 在.pro文件中添加 greaterThan(QT_MAJOR_VERSION, ): QT += widgets
- 【Django】Session
目录 介绍 Django中操作Session @ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存 ...
- cocos2dx 3.0正式版 在mac上新建项目
触碰科技确定2.x版本号不会再更新了,会一直维护3.x的版本号.于是赶紧看看3.0的,简单浏览一下.类的使用方法和原来的几乎相同,仅仅是 表达的写法变了下,. . . . 以后肯定有非常多变化,速度熟 ...
- Cocos2D实现RPG队伍菜单随意调整角色顺序的效果
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 前一篇我们实现了队伍实现拖尾效果,可是在实际游戏中我们往往须要 ...
- 37.cgi网页交互
1.Apache的安装 地址:链接:https://pan.baidu.com/s/1kWdSWwZ 密码:nuqo 2.在相应路径下写html如图所示 new.html代码: <html> ...