表1:一级分类的表,表名:yiji(id,name)表2:二级分类的表,表名:erji(id,name,fid) [备注:fid是外键,相对应yiji的id]我想从一个页面中显示如下的效果:
-----------------------------------------------------------------------------
一级栏目1 二级栏目1--1
二级栏目1--2
二级栏目1--3一级栏目2 二级栏目2--1
二级栏目2--2
二级栏目2--3一级栏目3 二级栏目3--1
二级栏目2--2
二级栏目2--3
-----------------------------------------------------------------------------
由于刚接触ASP.NET,发现ASP.NET都是用控件绑定数据源的,以前写ASP和JSP处理这样的一和二级栏目很容易,现在不知道在ASP.NET是如何处理这种情况的。因为二级栏目的取得要根据一级栏目的ID来定,我不知道如何处理了。希望大家能给点思路,如果有简单的代码示意那更好,表示感谢!
-----------------------------------------------------------------------------
一级栏目1 二级栏目1--1
二级栏目1--2
二级栏目1--3一级栏目2 二级栏目2--1
二级栏目2--2
二级栏目2--3一级栏目3 二级栏目3--1
二级栏目2--2
二级栏目2--3
-----------------------------------------------------------------------------
由于刚接触ASP.NET,发现ASP.NET都是用控件绑定数据源的,以前写ASP和JSP处理这样的一和二级栏目很容易,现在不知道在ASP.NET是如何处理这种情况的。因为二级栏目的取得要根据一级栏目的ID来定,我不知道如何处理了。希望大家能给点思路,如果有简单的代码示意那更好,表示感谢!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>index</title>
<style type="text/css">TD { FONT-SIZE: 9pt; LINE-HEIGHT: 150% }
BODY { SCROLLBAR-FACE-COLOR: #eeeeee; FONT-SIZE: 12px; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-SHADOW-COLOR: #dee3e7; SCROLLBAR-3DLIGHT-COLOR: #d1d7dc; SCROLLBAR-ARROW-COLOR: #006699; SCROLLBAR-TRACK-COLOR: #ededed; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, 宋体; SCROLLBAR-DARKSHADOW-COLOR: #98aab1 }
A:link { FONT-SIZE: 9pt; COLOR: #363636; LINE-HEIGHT: 18px; TEXT-DECORATION: none }
A:visited { FONT-SIZE: 9pt; COLOR: #363636; LINE-HEIGHT: 18px; TEXT-DECORATION: none }
A:hover { COLOR: #cc0000; LINE-HEIGHT: 18px; TEXT-DECORATION: underline }
INPUT { BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: #d2d2d2; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #d2d2d2; BORDER-TOP-COLOR: #d2d2d2; LINE-HEIGHT: 120%; FONT-FAMILY: "tahoma", "arial", "helvetica", "sans-serif", "宋体"; BACKGROUND-COLOR: #f9f9f9; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #d2d2d2 }
SELECT { BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: #d2d2d2; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #d2d2d2; BORDER-TOP-COLOR: #d2d2d2; LINE-HEIGHT: 120%; FONT-FAMILY: "tahoma", "arial", "helvetica", "sans-serif", "宋体"; BACKGROUND-COLOR: #f9f9f9; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #d2d2d2 }
TEXTAREA { BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: #d2d2d2; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #d2d2d2; BORDER-TOP-COLOR: #d2d2d2; LINE-HEIGHT: 120%; FONT-FAMILY: "tahoma", "arial", "helvetica", "sans-serif", "宋体"; BACKGROUND-COLOR: #f9f9f9; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #d2d2d2 }
</style>
<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 id="Form1" method="post" runat="server">
<table id="table1" borderColor="#66ccff" width="50%" align="center" border="1">
<tr align="center">
<td align="center"><asp:datalist id="dlt1" Width="100%" Runat="server">
<ItemTemplate>
<tr align="left">
<td align="left" bgcolor="#66ccff">
<asp:Label ID="lblclassid" Runat="server" text='<%# container.dataitem("classid")%>'>
</asp:Label> <a href='bigbankuai.aspx?classid=<%# container.dataitem("classid")%>'>
<%# container.dataitem("classname")%>
</a>
</td>
</tr>
<tr>
<td>
<asp:datalist ID="dlt2" Runat="server">
<ItemTemplate>
<tr>
<td align="left">
<a href='bankuai.aspx?classid=<%# container.dataitem("classid")%>&nclassid=<%# container.dataitem("nclassid")%>'>
<%# container.dataitem("nclassname")%>
</a>
</td>
</tr>
</ItemTemplate>
</asp:datalist></td>
</tr>
</ItemTemplate>
</asp:datalist></td>
</tr>
</table>
</form>
</body>
</HTML>
Imports WebApplication8.hackate_cls
Public Class index
Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub
Protected WithEvents dlt1 As System.Web.UI.WebControls.DataList '注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Dim conn As SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
Dim rs As SqlClient.SqlDataReader
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
'conn = New SqlClient.SqlConnection(ConfigurationSettings.AppSettings("shujuku"))
'cmd = New SqlClient.SqlCommand("select * from hkbbs_class", conn)
'conn.Open()
'rs = cmd.ExecuteReader dlt1.DataSource = sqldaselect.daselect("select * from hkbbs_class")
dlt1.DataBind()
'rs.Close()
'cmd.Dispose()
'conn.Close()
End If
End Sub Private Sub dlt1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlt1.ItemDataBound
'Dim tmpid As Label = CType(e.Item.FindControl("lblclassid").text, Label)
Dim tmpid As String = CType(e.Item.FindControl("lblclassid"), Label).Text
'Response.Write("<script>alert('" & tmpid & "');</script>")
'conn = New SqlClient.SqlConnection(ConfigurationSettings.AppSettings("shujuku"))
'cmd = New SqlClient.SqlCommand("select * from hkbbs_nclass where classid='" & tmpid & "'", conn)
'conn.Open()
'rs = cmd.ExecuteReader
Dim tmpdlt As DataList = CType(e.Item.FindControl("dlt2"), DataList)
tmpdlt.DataSource = sqldaselect.daselect("select * from hkbbs_nclass where classid='" & tmpid & "'")
tmpdlt.DataBind()
'rs.Close()
'cmd.Dispose()
'conn.Close()
End SubEnd Class
小类的表字段是 nclassid nclassname classid 三个字段然后你会明白的上面有的我都写在类里面,数据连接的,还有我注释的那些都是没用类时的,你自己看看