ASP.NET Web窗体页面是一个宣告式的文本文件,扩展名是.aspx。除了静态的内容之外,你还可以使用八种不同的语法标记元素。这一部分回顾这些语法元素并提供了一些使用方法示例。
呈现代码的语法:<% %>和<%= %>
代码呈现块用<% ... %>元素表示,它允许你控制呈现的内容,在Web窗体页面执行的显示阶段执行。下面的例子演示了如何使用它们循环显示HTML的内容。
<%@ Page Language="VB" %> <html> <body> <% Dim I As Integer For I = 0 To 7 %> <font size="<%=I%>"> Hello World! </font> <br> <% Next %> </body> </html> |
<% ... %>包含的代码只是执行,而包含等号(<%= ... %>)的表达式会在显示内容的时候计算结果。因此,<%="Hello World" %>与C#代码<% Response.Write("Hello World"); %>显示的结果相同。
请注意,由于语言需要使用标记来终止或分离语句(例如C#中的分号;),正确地放置这些标记就很重要了。
C# 代码
<% Response.Write("Hello World"); %> 需要用分号来终止语句。
<%="Hello World"; %> 错误:导致"Response.Write("Hello World";);"。
<%="Hello World" %> 不需要分号。
声明代码的语法:<script runat="server">
代码声明块定义了会被编译到Page类中的成员变量和方法。这些块可用于建立页面和导航逻辑。下面的例子演示了如何在<script runat="server">块中定义Subtract方法,接着在页面中调用它。
<html> <script language="VB" runat=server> Function Subtract(Num1 As Integer, Num2 As Integer) As Integer Return Num1-Num2 End Function </script>
<body> <% Dim Number As Integer = 100 Do While Number > 0 Response.Write("Value: " & Number & "<br>") Number = Subtract(Number, 1) Loop %> </body> </html> |
请注意:与ASP不同——在ASP中函数必须在<% %>块中定义——所有的函数和全局变量必须使用<script runat=server>标记定义。<% %>块中的函数声明会提示语法编译错误信息。
服务器控件语法
定制的ASP.NET服务器控件允许页面开发者动态地生成HTML用户界面并响应客户端请求。它们是在文件中用宣告式的、基于标记的语法表示的。这些标记不同于其它的一些标记,它们包含一个"runat=server"属性。下面的例子演示了如何在ASP.NET页面中使用<asp:label runat="server">服务器控件。这个控件与System.Web.UI.WebControls名字空间中的Label类对应。
通过添加一个ID为“Message”的标记,可以在运行时建立一个Label实例:
<asp:label id="Message" font-size=24 runat="server"/> |
我们可以使用这个名字来访问该控件。下面的代码设置了该控件的Text属性。
Message.Text = "Welcome to ASP.NET" <html> <script language="VB" runat=server> Sub Page_Load(Sender As Object, E As EventArgs) Message.Text = "Welcome to ASP.NET" End Sub </script> <body> <asp:label id="Message" font-size=24 runat=server/> </body> </html> |
查看本文来源