其实<%%>很早之前见过它,将一个小的功能仅。别人不理解。今天偶尔,我们看到它的真面目,今天,给大家分享。

语法

代码块呈现(<%%>)定义了当呈现页时运行的内联代码或内联表达式,它的详细语法例如以下:

<%code%>//内联代码

<%=expression%>//内联表达式

使用内联代码能够定义独立的行或代码块。

它是呈现页面的过程中运行的server代码。

关于嵌入式代码块的使用说明,例如以下:ASP.NET网页中支持嵌入式代码块。主要用于保留与旧的ASP技术的向后兼容性。

普通情况下。将嵌入式代码块用于复杂的编程逻辑并非最佳做法,由于当页中的代码与标记混合时,非常难进行调试和维护。

此外,由于代码将在呈现页的过程中运行。因此与将代码至于适当的页处理阶段以运行后台代码或脚本块代码相比,灵活性大大减少。

嵌入式代码块的部分用途包含:

将控件元素或标记元素的值设置为函数返回的值。

将计算直接嵌入到标记或控件属性中。

演示样例

演示样例1:在页面上输出5行标记为“信息技术提高班”的字符串。执行效果如图:

代码例如以下:

<%@ 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>

演示样例2:内联表达式是调用Write方法的快捷方式。<%=expression%>用于解析表达式。并将其值返回到块中。

下面演示样例代码通过使用内联表达式显示GetTime方法的值。执行效果如图所看到的:

代码例如以下:

<%@ 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>

注意:代码块中的代码必须使用该页的默认语言进行编写。

比如。假设该页的@Page指令包括属性language=”C#”,则该页将使用Visual C#编译器对标有runat=server的全部脚本块中的代码。以及<%%>代码块中的全部内嵌代码进行编译。

演示样例3:应用<%%>代码块来实现ASP.NET中简单的属性绑定。

首先了解什么是数据绑定。数据绑定不仅能够直接输出一般输出语句能够输出的数据类型,还能够输出不论什么一种符合数据绑定要求的数据源。并且对于不同的数据显示控件对数据源的处理能够不一致,也能够依据情况的改变而动态地发生变化。也就是说,在数据绑定中,数据的显示是由数据源和数据显示控件共同决定的。数据源决定数据的内容,数据显示控件决定数据的显示方式。实际上,数据绑定的作用机制就是由数据显示控件调用数据源的方法得到数据的。

数据绑定的语法例如以下:

<语言标记…属性’<% 数据绑定表达式 %>’runat=”server”>

假设将表达式的结果直接输出到网页上。那么数据绑定的语法例如以下:

字符串:<% 数据绑定表达式 %>

演示样例执行结果如图:

以下介绍程序实现的主要步骤(正常情况下应该从数据库中获取。这里为了演示方便就绑定死的数据了):

(1)新建一个aspx页面。在前台页面代码中定义两个公共属性,这两个属性作为绑定数据时的数据源;之后应用<%%>代码块将它与显示控件之间建立绑定关系。完整演示样例代码例如以下:

<%@ 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>

说明:基于属性的数据绑定所涉及的属性必须包括get訪问器。由于在数据绑定过程中。数据显示控件须要属性的get訪问器中从属性中读取数据

(2)绑定完毕之后,仅仅须要在页面的Page_Load事件中调用Page类的DataBind方法,来实如今页面载入时读取数据。代码例如以下:

protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();
}

我们在见到一个陌生的知识或者名词之后不应该仅仅是停留在会用的层次上,而应向“知其然知其所以然”靠拢,了解来龙去脉,哪怕掌握不了。最起码也要知道。对于常常使用的知识点扩展查完之后还须要进行消化、实践,这样才干拓展自己的眼世界。并能面对知识变种后从容面对。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

&lt;%%&gt;创建内联代码块(表达)的更多相关文章

  1. <%%>创建内联代码块(表达式)

    其实<%%>很早之前就见过了,只是会用一点功能,其它的不甚了解.今天偶尔见到了它的庐山真面目,现在共享给大家. 语法 代码块呈现(<%%>)定义了当呈现页时执行的内联代码或内联 ...

  2. Asp.Net 之 <%%>相关内联代码块用法

    1.<%@ ... %> 用来添加命名空间引用,如:<%@ import namespace="system.data"> 2.<% ... %> ...

  3. MVC 之 <%%>相关内联代码块用法

    1.<%@ ... %> 添加引用; 2.<% ... %> <%%>之间可以执行服务端代码,如<% foreach (DataRow dataRow in ...

  4. CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  5. Box Model,边距折叠,内联和块标签,CSSReset

    一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...

  6. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  7. CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset

    目录 一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三. ...

  8. css 内联与块

    内联元素可以理解为不能直接设置宽度和高度元素,比如span,你为他设置宽度和高度没有效果,除非你把它设置成块级元素. 如下面的代码把display:block;属性值去掉的话,宽度和高度都不会起作用了 ...

  9. HTML&CSS基础-内联和块元素

    HTML&CSS基础-内联和块元素 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...

随机推荐

  1. Google jsAPI托管你的js库

    来看一段JS: <script type="text/javascript" src="http://www.google.com/jsapi">& ...

  2. JAVA网络编程Socket常见问题 【长连接专题】

    一. 网络程序运行过程中的常见异常及处理 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ...

  3. Android:简单的弹幕效果达到

    首先,效果图.分类似至360检测到的骚扰电话页面: 布局非常easy,上面是一个RelativeLayout,以下一个Button. 功能: (1)弹幕生成后自己主动从右側往左側滚动(Translat ...

  4. bash组织成树数据结构

    君子也非独占,善假于物!bash也因此.昨天晚上,今天早上世界杯很精彩.晚上醒来看到不断地居住的电话.早上没有喝的水开始赞赏在英国和意大利的对决.也TM精彩,最后生下了罗马文化.意大利伊特鲁里亚文化获 ...

  5. effective c++ 条款6 如果不想要就要告诉大家

    这个条款应该和第五个放在一起 编译器默认生成 1 无参构造函数, 2 析构函数 3 拷贝构造函数 4 赋值预算符 当我们不需要,就要显示的告诉大家我们不需要. 方法:自己声明这个函数为private, ...

  6. Amazon SQS简单介绍 上篇

    SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它很easy,消息队列服务能够用来buffer burst, 使整个服务异步处理,不要求组件始终可用. 开发者最初使 ...

  7. Vc6.0打开该文件坠毁

    这是一个微软bug,下面是用户给出的溶液: http://blog.163.com/wjatnx@yeah/blog/static/12758622820138110530322/ http://bl ...

  8. Codeforces 451E Devu and Flowers(容斥原理)

    题目链接:Codeforces 451E Devu and Flowers 题目大意:有n个花坛.要选s支花,每一个花坛有f[i]支花.同一个花坛的花颜色同样,不同花坛的花颜色不同,问说能够有多少种组 ...

  9. PHP制作pdf文档方法

    原文:PHP制作pdf文档方法 本篇博客是在看完 php+mysql web书以后自己的测试代码,虽然是测试代码,但不是简单的粘贴复制,为了学习thinkPHP框架,自己就用这个来做的,而且这本书已经 ...

  10. MSMQ学习笔记

    这几天学习了一下MSMQ,虽然不能说非常深入的了解其机制与实际用法(具体项目的实现),但也要给自己的学习做个总结.学习心得如下: 一.MSMQ即微软消息队列.用于程序之间的异步消息通信,主要的机制就是 ...