其实<%%>很早之前见过它,将一个小的功能仅。别人不理解。今天偶尔,我们看到它的真面目,今天,给大家分享。
语法
代码块呈现(<%%>)定义了当呈现页时运行的内联代码或内联表达式,它的详细语法例如以下:
<%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(); }
我们在见到一个陌生的知识或者名词之后不应该仅仅是停留在会用的层次上,而应向“知其然知其所以然”靠拢,了解来龙去脉,哪怕掌握不了。最起码也要知道。对于常常使用的知识点扩展查完之后还须要进行消化、实践,这样才干拓展自己的眼世界。并能面对知识变种后从容面对。
版权声明:本文博客原创文章,博客,未经同意,不得转载。