软件频道>开发者网络>微软开发专栏>ASP.NETC#VB.NETVC.NET技术专题XML|软件频道产品中心群乐下载群乐:大家耍QQ
您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > ASP.NET 2.0 Web窗体语法指导
全文

ASP.NET 2.0 Web窗体语法指导

2006-07-26 07:00作者:陶刚编译出处:天极开发责任编辑:方舟
  HTML服务器控件语法

  HTML服务器控件允许开发者编程操作页面中的HTML元素。HTML服务器控件标签与客户端HTML元素是有区别的,它带有"runat=server"属性。下面的例子演示了如何在ASP.NET页面中使用HTML<span runat=server>服务器控件。

<html>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Message.InnerHtml = "Welcome to ASP.NET"
End Sub
</script>
<body>
<span id="Message" style="font-size:24" runat=server/>
</body>
</html>

  数据绑定语法:<%# %>

  ASP.NET内建的支持数据绑定的能力允许页面开发者分层次地把控件属性绑定到数据容器值。<%# %>代码块中的代码只在自己的父控件容器的DataBind方法被调用的时候才执行。下面的例子演示了如何在<asp:datalist runat=server>控件中使用数据绑定语法。

  在这个数据列表中,每个项都指定了模板。项模板的内容是使用数据绑定表达式指定的,Container.DataItem指向MyList数据列表使用的数据源。

<asp:datalist id="MyList" runat=server>
<ItemTemplate>
Here is a value: <%# Container.DataItem %>
</ItemTemplate>
</asp:datalist>

  在这种情况下,MyList控件的数据源是编程设定的,接着调用了DataBind()方法。

  调用某个控件的DataBind方法将引发一个递规树(从该控件开始的到树中的下层控件);该层次中的每个服务器控件的DataBinding事件都会被引发,控件中的数据绑定表达式相应地计算出值。因此,如果页面的DataBind方法被调用,那么页面中的每个数据绑定表达式都会被调用。

<html>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Dim Items As New ArrayList
Items.Add("One")
Items.Add("Two")
Items.Add("Three")
MyList.DataSource = Items
MyList.DataBind()
End Sub

</script>
<body>
<asp:datalist id="MyList" runat=server>
<ItemTemplate>
Here is a value: <%# Container.DataItem %>
</ItemTemplate>
</asp:datalist>
</body>
</html>

  ASP.NET 2.0还包含了一种新的简化的数据绑定语法,它允许控件自动地数据绑定到数据源控件,而无需在页面代码中调用DataBind()。在“执行数据访问”章节中会讨论这种语法。

  对象标记语法:<object runat="server" />

  对象标记允许页面开发者使用宣告式的、基于标记的语法来声明和建立变量实例。下面的例子演示了如何使用对象标记来建立ArrayList类的实例。

  在运行的时候该对象会被自动地建立,并可以通过ID“items”访问它。

<html>
<script language="VB" runat=server>
Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
ArrayItems.Add("One")
ArrayItems.Add("Two")
ArrayItems.Add("Three")
MyList.DataSource = ArrayItems
MyList.DataBind()
End Sub
</script>

<body>
<object id="ArrayItems" class="System.Collections.ArrayList" runat=server/>
<asp:datalist id="MyList" runat=server>
<ItemTemplate>
Here is a value: <%# Container.DataItem %>
</ItemTemplate>
</asp:datalist>
</body>
</html>

  服务器端注释语法:<%-- Comment --%>

  服务器端注释让页面开发者能够阻止服务器代码(包括服务器控件)和静态内容的执行和呈现。下面的例子演示了如何阻止内容的执行和发送给客户端。请注意,<%--和--%>之间的所有信息都会被过滤掉,并且只有在原始的服务器文件中才可以看见,即使它包含了其它的ASP.NET指令。

<html>
<body>
The below content has been hidden from browser clients using a server-side comment
(view the .aspx source to see what we mean :-)
<%--
<asp:calendar id="MyCal" runat=server/>
<% For I = 0 To 44 %>
Hello World <br>
<% Next %>
--%>
</body>
</html>

  服务器端文件包含语法:<-- #Include File="Locaton.inc" -->

  服务器端文件包含(#Include)允许开发者在ASP.NET页面的任何位置插入特定文件的内容。下面的例子演示了如何在一个页面中插入自定义的标题和脚注。

<html>
<body>
<!-- #Include File="Header.inc" -->
<br />
<h3> Main page content </h3>
<br />
<!-- #Include File="Footer.inc" -->
</body>
</html>

  表达式语法:<%$ ... %>2.0中的新特性

  ASP.NET 2.0增加了一个新的用于在页面分析之前进行值替代的宣告式表达式语法。当我们需要用Web.config文件中的连接字符串值或应用程序设置替换服务器控件属性值的时候,它就非常有用。在本地化(locaization)的时候,它还可以用于替换资源文件中的值。

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString='<%$ connectionStrings:Pubs %>' runat="server" SelectCommand="sp_GetAuthors" />
<asp:Label ID="Label1" Text='<%$ Resources: ExchRate, ConvertLabel %>' runat="server"/>

软件资讯·软件下载尽在天极软件

共2页。 首页 上一页 1 2
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众