()接下来要添加命名空间的顶端添加一个对SystemData进入后台代码文件NewsUserControlascxvb并在该文件命名空间的引用 Imports SystemData ()现在添加代码仍然在这个后台代码文件中为ItemsToShow属性添加以下代码该属性管理屏幕上同时显示多少项 Partial Class NewsUserControl Inherits SystemWebUIUserControl
Private _itemsToShow As Integer = Public Property ItemsToShow() As Integer Get Return _itemsToShow End Get Set(ByVal value As Integer) _itemsToShow = value End Set End Property ()从左侧的下拉框中选择Page Evens ()在右侧的下拉列表框中从屏幕顶端选择Pre Render方法并向其中添加以下代码()现在进入Solution Explorer并创建一个新的Web Form名为NewsDisplayaspx进入Design View并将NewsUserControlascx拖放到这个Web Form中 Protected Sub Page_PreRender(ByVal sender As Object ByVal e As SystemEventArgs) Handles MePreRender
Dim sel As String = StringFormat(SELECT TOP {} * FROM [News] WHERE DateToShow <= {} ORDER BY DateToShow DESC _itemsToShow DateTimeNowToString(yyyy/MM/dd)) SqlDataSourceSelectCommand = sel End Sub ()运行该页面它相当简单没有任何修饰但是您看到了五条新闻记录 ASPNET 入门教程完整版 ()返回到Source View添加一个ItemsToShow属性并将它设置为 <div> <uc:NewsUserControl id=NewsUserControl runat=server ItemsToShow=> </uc:NewsUserControl> </div> ()保存该页面并重新运行现在将会看到输出如果想要改进这个控件简陋的外观则从该目录下的模板文件中将sitecss文件拖放到这个aspx文件中从而运用样式表 操作回顾 这里使用了一个News控件不仅可以将它放置到任何页面中(现在用于Wrax United站点的首页中)而且还可以通过一个属性来配置显示项的数量以下代码是在这个用户控件中创建的它们是查询新闻表的SqlDataSource控件和显示每个新闻记录的Repeater控件 <%@ Control Language=VB AutoEventWireup=false CodeFile=NewsUserControlascxvb Inherits=NewsUserControl %> <asp:SqlDataSource ID=SqlDataSource runat=server ConnectionString=<%$ConnectionStrings:WroxUnited %>></asp:SqlDataSource> <asp:Repeater ID=Repeater runat=server DataSourceID=SqlDataSource> <ItemTemplate> <div class=newsItem> <span class=newsData><%#Eval(DateToShow {:dd MMM yyyy}) %></span> <span class=newsTitle><%#Eval(Title) %></span> </div> <span class=newsContent> <%#Eval(Description)%> </span> </ItemTemplate> </asp:Repeater> [] [] [] |