用户控件和子窗体 10.6.3 Wrox United News用户控件[2]
10.6.3 Wrox United News用户控件[2]
( )接下来要添加命名空间的顶端添加一个对System Data 进入后台代码文件NewsUserControl ascx vb并在该文件命名空间的引用
Imports System Data
( )现在添加代码 仍然在这个后台代码文件中 为ItemsToShow属性添加以下代码 该属性管理屏幕上同时显示多少项
Partial Class NewsUserControl
Inherits System Web UI UserControl
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 名为NewsDisplay aspx 进入Design View并将NewsUserControl ascx拖放到这个Web Form中
Protected Sub Page_PreRender(ByVal sender As Object ByVal e As System EventArgs) Handles Me PreRender
![用户控件和子窗体 10.6.3 Wrox United News用户控件[2]](http://img.zhputi.com/uploads/0f08/0f08d7ce1e0d11d25257ae506bbdf75319498.jpg)
Dim sel As String = String Format( SELECT TOP { } * FROM [News] WHERE DateToShow <= { } ORDER BY DateToShow DESC _itemsToShow DateTime Now ToString( yyyy/MM/dd ))
SqlDataSource SelectCommand = sel
End Sub( )运行该页面 它相当简单 没有任何修饰 但是您看到了五条新闻记录
ASP NET 入门教程完整版
( )返回到Source View 添加一个ItemsToShow属性 并将它设置为
<div>
<uc :NewsUserControl id= NewsUserControl runat= server ItemsToShow= >
</uc :NewsUserControl>
</div>( )保存该页面并重新运行 现在将会看到输出 如果想要改进这个控件 简陋的 外观 则从该目录下的模板文件中将site css文件拖放到这个 aspx文件中 从而运用样式表
操作回顾
这里使用了一个News控件 不仅可以将它放置到任何页面中(现在用于Wrax United站点的首页中) 而且还可以通过一个属性来配置显示项的数量 以下代码是在这个用户控件中创建的 它们是查询新闻表的SqlDataSource控件和显示每个新闻记录的Repeater控件
<%@ Control Language= VB AutoEventWireup= false CodeFile= NewsUserControl ascx vb 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>
lishixinzhi/Article/program/net/201311/14729