标签:style blog http java color 使用 os 文件
将代码添加到 ASP.NET 网页中的默认模型要么创建一个代码隐藏类文件(代码隐藏页),要么将页的代码写到具有 runat="server" 特性的 script 块中(单文件页)。 编写的代码通常会与页上的控件进行交互。 例如,通过从代码中设置控件的 Text(或其他)属性,可以在页上显示信息。
另一种可能是使用嵌入式代码块将代码直接嵌入到页中。
嵌入式代码块是在呈现页面的过程中执行的服务器代码。 块中的代码可以执行编程语句,并调用当前页类中的函数。
下面的代码示例演示包含嵌入式代码块的 ASP.NET 页,该代码块显示循环结果。
<%@ Page Language="C#" %> <html> <body> <form id="form1" runat="server"> <% for(int i = 0; i < 6; i++) %> <% { Response.Write("<br>" + i.ToString()); }%> </form> </body> </html>
下面的代码示例演示一个嵌入式代码块,该代码块显示 span 元素中的公共 GetTime() 函数的值。 在嵌入式代码块中,语法 <% = expression %> 用于解析表达式,并将其值返回到块中。
<%@ Page Language="C#" %> <script runat=server> protected String GetTime() { return DateTime.Now.ToString("t"); } </script> <html> <body> <form id="form1" runat="server"> Current server time is <% =GetTime()%>. </form> </body> </html>
嵌入式代码块必须使用页的默认语言进行编写。 例如,如果页的 @ Page 指令包含特性 language="VB",则页将使用 Visual Basic 编译器对标有 runat="server" 的所有脚本块中的代码以及 <% %> 分隔符中的所有内嵌代码进行编译。
ASP.NET 网页中支持嵌入式代码块,主要用于保留与旧的 ASP 技术的向后兼容性。 一般情况下,将嵌入式代码块用于复杂的编程逻辑并不是最佳做法,因为当页中的代码与标记混合时,很难进行调试和维护。 此外,由于代码仅在呈现页的过程中执行,因此与将代码置于适当的页处理阶段以执行后台代码或脚本块代码相比,其灵活性大大降低。
嵌入式代码块的部分用途包括:
将控件元素或标记元素的值设置为函数返回的值,如前面的示例所示。
将计算直接嵌入到标记或控件属性中。
一. <%%>
这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或
者javascript代码,而在asp.net中用的是.net平台下支持的语言。特别
注意:服务器控件中不能包含<%%>的语法,否则出错。如下,我们可以
在.aspx页面里出现如下代码:
二. <%#%>
这种格式是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该
控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对
所得控件都调用DataBind()方法)特别。
注意:只有服务器控件才能用<%#%>的语法 aspx.cs代码如下:
三. <%=%>
这种格式经常用到的。
aspx.cs代码:
四.<%$%>
主要用于引用外部资源
特别注意:1.绑定的只能是服务器控件
2.只能绑定到服务器控件的某个属性上。
以下以获取web.config资源来做实例:
这样就能正常运行。
如果修改aspx中的文件:使用客户端的控件
<input type="text" value="<%$ConnectionStrings:pubs%>"/>
或者:不绑定到服务器控件的某个属性上
<asp:TextBox runat="server" ID="cc"><%$ConnectionStrings:pubs%></asp:TextBox>
运行都会出现相同的错误:
"分析器错误信息:不允许使用类似"<%$ConnectionStrings:pubs%>"类似的文本表达式,请改用……
最后强调:
<%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用
ASP.NET 2.x,3.x: <%#Eval("数据库字段名","格式化表达式")%> 或<%#Eval("数据库字段名")%>
ASP.NET 网页中的嵌入式代码块,布布扣,bubuko.com
标签:style blog http java color 使用 os 文件
原文地址:http://www.cnblogs.com/yiyilian/p/3873251.html