用户控件的使用(二)

Posted on 2004-11-17 16:10  生活即技术  阅读(839)  评论(0编辑  收藏  举报
这个是用引用动态的添加用户控件
UserControl.aspx
<%@ Reference Control="MyControl_.ascx" %>
<%@ register tagprefix="My" tagname="user" src="MyControl_.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="UserControls.aspx.vb" Inherits="Data.UserControls"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<title>UserControls</title>
        
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
        
<meta content="JavaScript" name="vs_defaultClientScript">
        
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form runat="server">
            
<asp:Table Runat="server" id="Table1" style="Z-INDEX: 101; LEFT: 152px; POSITION: absolute; TOP: 80px"
                Width="104px">
                
<asp:TableRow>
                    
<asp:TableCell  ID="Cell"><asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder></asp:TableCell>
                
</asp:TableRow>
            
</asp:Table>
            
        
</form>
    
</body>
</HTML>
UserControl.aspx.vb
 Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        
Dim myControl As MyControl = CType(Page.LoadControl("MyControl_.ascx"), MyControl)
        myControl.MyProperty1 
= "Color"
        'Page.Controls.Add(myControl)
        Me.PlaceHolder1.Controls.Add(myControl)
        
'Table1.Controls.Add(myControl)
    End Sub
用户控件页 MyControl_.ascx
<%@ Control classname="MyControl1" Language="vb" AutoEventWireup="false" Codebehind="MyControl_.ascx.vb" Inherits="Data.MyControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<FONT face="宋体">
    
<asp:DataList id="DataList1" runat="server">
    
<ItemTemplate>
    
<%# container.dataitem("id")%>
    
    
</ItemTemplate>
        
</asp:DataList></FONT>
用户控件页 MyControl_.ascx.vb

    
Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        
If Not IsPostBack Then
            DataList1.DataSource 
= Databind_(0).Tables("user_login")
            DataList1.DataBind()
        
End If
    
End Sub

    
Function Databind_(ByVal StartIndex) As System.Data.DataSet
        
Dim Sqlstr As String = "server=(local);database=Achem56;uid=sa;pwd= "
        Dim Sql As String = "select   id,uname from user_login  "
        Dim Sqlconn As New System.Data.SqlClient.SqlConnection(Sqlstr)
        
Dim Sqlcmd As New System.Data.SqlClient.SqlDataAdapter(Sql, Sqlconn)
        
Dim SqlDataSet As New DataSet
        Sqlcmd.Fill(SqlDataSet, StartIndex, 
10"user_login")
        
Return SqlDataSet
    
End Function
Databin_()中的Sqlcmd.Fill()用的是返回特定大小行的记录,是从昨天写的考过来的,今天懒的写了。呵呵