CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请教:如何用asp.net(c#)实现象易趣的商品目录的格式?

楼主Judges(随便什么都可以么?)2004-04-02 13:41:40 在 .NET技术 / ASP.NET 提问

就是一级分类,然后下面是二级分类。用asp可以做,用.net我不知道怎么做了,谢谢各位,目录结构最好是从数据库里面读取的。 问题点数:30、回复次数:13Top

1 楼bakerk(贝壳)回复于 2004-04-02 13:46:04 得分 0

严重关注中Top

2 楼changziyu(振翅雄鹰 (哈)ACCP010182)回复于 2004-04-02 13:48:04 得分 0

学习一下,接分。Top

3 楼Judges(随便什么都可以么?)回复于 2004-04-02 14:09:39 得分 0

没人知道吗??   顶一下Top

4 楼pierven(牛牛)回复于 2004-04-02 14:30:47 得分 2

我试着做了一下。做法是先定义好控制格式用的htmltable,将它作为服务器控件运行,id为table1。添加第二层链接的代码:  
  while   (读取第二层目录)  
  {  
  HyperLink   myhyperlink   =   new   HyperLink();  
  myhyperlink.Text   =   目录名称.ToString();  
  myhyperlink.NavigateUrl   =   链接.ToString();  
  Table1.Rows[0].Cells[0].Controls.Add(myhyperlink); //在表格的某个单元格添加hyperlink  
  }  
  Top

5 楼andrawsky(国际米兰)回复于 2004-04-02 14:36:47 得分 0

upTop

6 楼stpangpang(胖在一方)回复于 2004-04-02 14:39:47 得分 0

我做的一个是   在datalist中嵌套datagrid   如果需要的话,我把代码贴出来Top

7 楼Judges(随便什么都可以么?)回复于 2004-04-02 14:53:10 得分 0

好啊好啊     谢谢楼上的    
   
  我现在的做法也是在datalist中做     不过我是嵌表格的Top

8 楼stpangpang(胖在一方)回复于 2004-04-02 15:00:32 得分 14

前台:  
  <body   MS_POSITIONING="GridLayout">  
  <form   id="Form1"   method="post"   runat="server">  
  <FONT   face="宋体">  
  <asp:datalist   id="DataList1"   style="Z-INDEX:   101;   LEFT:   96px;   POSITION:   absolute;   TOP:   53px"   runat="server">  
  <ItemTemplate>  
  <asp:Label   id=lblCategoryName   runat="server"   Text='<%#   DataBinder.Eval(Container.DataItem,   "cName")   %>'>  
  </asp:Label><BR>  
  <asp:Label   id=lblCategoryCode   runat="server"   Text='<%#   DataBinder.Eval(Container.DataItem,   "cCode")   %>'   Visible="False">  
  </asp:Label>  
  <TABLE>  
  <TR>  
  <TD   align="left">  
  <asp:DataGrid   id="dgCategory"   runat="server"   Font-Size="X-Small"   AutoGenerateColumns="False"></asp:DataGrid></TD>  
  </TR>  
  <TR>  
  <TD   align="right">  
  <asp:HyperLink   id="linkMoreCategorg"   runat="server"   Font-Size="X-Small">>>>更多</asp:HyperLink></TD>  
  </TR>  
  </TABLE>  
  </ItemTemplate>  
  </asp:datalist></FONT></form>  
  </body>  
   
  后台:  
    Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                  '在此处放置初始化页的用户代码  
                  If   Not   Page.IsPostBack   Then  
                          Dim   ds   As   DataSet  
                          ds   =   New   DataSet()  
   
                          Dim   errMsg   As   String  
                          errMsg   =   HLOAWebService.Documents_ALLCategory(ds,   "category")  
                          If   errMsg   <>   ""   Then  
                                  Response.Write("发生错误   "   &   errMsg)  
                                  Exit   Sub  
                          End   If      
                          Me.DataList1.DataSource   =   ds.Tables("category").DefaultView  
                          Me.DataList1.DataBind()  
                      End   If  
          End   Sub  
   
  '在datalist的ItemDataBound事件中帮定datagrid    
  Private   Sub   DataList1_ItemDataBound(ByVal   sender   As   System.Object,   ByVal   e   As   System.Web.UI.WebControls.DataListItemEventArgs)   Handles   DataList1.ItemDataBound  
                  '返回每个类型的编号cCode    
                  Dim   lbl   As   Integer  
                  lbl   =   CType(CType(e.Item.FindControl("lblCategoryCode"),   Label).Text,   Integer)  
   
                  '生成datagrid  
                  Dim   dg   As   DataGrid  
                  dg   =   CType(e.Item.FindControl("dgCategory"),   DataGrid)  
                  dg.AutoGenerateColumns   =   False  
                  dg.AllowSorting   =   False  
                  dg.AllowPaging   =   False  
                  '根据web.config配置文件   指定每页显示的记录数  
                  dg.PageSize   =   CType(ConfigurationSettings.AppSettings("pageSize").ToString(),   Integer)  
   
                  Dim   ds   As   DataSet  
                  ds   =   New   DataSet()  
   
                  '调用存储过程GetCategoryByTypeCode   返回   指定文档类型代码(lbl)的全部文档  
                  Try  
                          HLOAWebService.Documents_GetCategoryByTypeCode(ds,   "category",   lbl)  
                  Catch  
                          '出错是不做处理  
                  End   Try  
   
                  'Response.Write(lbl.ToString)  
   
                  '生成超连接列                  
                  Dim   HyCol   As   HyperLinkColumn  
                  HyCol   =   New   HyperLinkColumn()  
                  HyCol.Target   =   "_blank"  
                  HyCol.DataNavigateUrlField   =   Constant.Tables.Documents.Columns.ID  
                  HyCol.DataNavigateUrlFormatString   =   "detailDocument.aspx?iid={0}"  
                  HyCol.DataTextField   =   Constant.Tables.Documents.Columns.DocTitle  
                  HyCol.HeaderText   =   "标题"  
                  HyCol.HeaderStyle.Width   =   New   Unit(120)  
   
                  HyCol.ItemStyle.Width   =   New   Unit(120)  
                  dg.Columns.Add(HyCol)  
   
                  '生成绑定列  
                  Dim   BoundCol   As   BoundColumn  
   
                  BoundCol   =   New   BoundColumn()  
                  BoundCol.HeaderText   =   "作者"  
                  BoundCol.HeaderStyle.Width   =   New   Unit(85)  
                  BoundCol.DataField   =   Constant.Tables.Documents.Columns.DocAuthor  
                  BoundCol.ItemStyle.Width   =   New   Unit(85)  
                  dg.Columns.Add(BoundCol)  
   
                  BoundCol   =   New   BoundColumn()  
                  BoundCol.HeaderText   =   "关键字"  
                  BoundCol.HeaderStyle.Width   =   New   Unit(150)  
                  BoundCol.DataField   =   Constant.Tables.Documents.Columns.DocKey  
                  BoundCol.ItemStyle.Width   =   New   Unit(150)  
                  dg.Columns.Add(BoundCol)  
   
                  BoundCol   =   New   BoundColumn()  
                  BoundCol.HeaderText   =   "文档时间"  
                  BoundCol.HeaderStyle.Width   =   New   Unit(140)  
                  BoundCol.DataField   =   Constant.Tables.Documents.Columns.DocTime  
                  BoundCol.ItemStyle.Width   =   New   Unit(140)  
                  dg.Columns.Add(BoundCol)  
   
                  BoundCol   =   New   BoundColumn()  
                  BoundCol.HeaderText   =   "发布人"  
                  BoundCol.HeaderStyle.Width   =   New   Unit(100)  
                  BoundCol.DataField   =   Constant.Tables.Documents.Columns.PubName  
                  BoundCol.ItemStyle.Width   =   New   Unit(100)  
                  dg.Columns.Add(BoundCol)  
   
                  dg.DataSource   =   ds.Tables("category").DefaultView  
                  dg.DataBind()  
   
                  '绑定超级连接  
                  Dim   lnk   As   HyperLink  
                  lnk   =   CType(e.Item.FindControl("linkMoreCategorg"),   HyperLink)  
                  lnk.NavigateUrl   =   "DetailCategory.aspx?TypeCode="   &   lbl.ToString()  
          End   SubTop

9 楼Judges(随便什么都可以么?)回复于 2004-04-02 15:37:15 得分 0

不是很明白     还有哪位朋友有思路?Top

10 楼newcar(newcar)回复于 2004-04-02 15:54:01 得分 14

用treeview。。。。  
  数据表:  
  商品ID       商品名称       上级商品ID       商品级别  
  01               ×××           null                         null  
  0101             ***                 01                           1  
  0102             ***                 01                           1  
  010201                               0102                       2  
  ...                 ...               ...  
   
   
  ----------------代码-------------  
  public   class   tree   :   System.Web.UI.Page  
  {  
  protected   Microsoft.Web.UI.WebControls.TreeView   TreeView1;  
   
          public   string   strsql;  
  public   string   strConn;  
  public   DataSet   ds   =   new   DataSet()   ;  
                  public   DataSet   ds1   =   new   DataSet()   ;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  if   (!Page.IsPostBack)  
  {  
  TreeView1.Nodes.Clear();  
  CreateDataSet();  
  intiTree(TreeView1.Nodes,   "");  
  //InitDevelop();  
  }  
  }  
  private   void   CreateDataSet()  
  {  
  SqlConnection   myConn   =new   SqlConnection();  
  strConn   =   System.Configuration.ConfigurationSettings.AppSettings["strconn"];  
   
          SqlCommand   myCmd   =new   SqlCommand("select   *   from   SY_Menu",   myConn);  
          SqlDataAdapter   datmenu1   =new   SqlDataAdapter();  
  myConn.ConnectionString   =   strConn;  
  myCmd.Connection   =   myConn;  
  datmenu1.SelectCommand   =   myCmd;  
  datmenu1.Fill(ds,   "menu1");  
   
  }  
  private   void   intiTree(TreeNodeCollection   Nds,string   parentId)  
          {  
  //int   intId   ;  
          string   strid;  
  DataView   dv   =new   DataView();  
  //DataRowView   drv   ;  
  dv.Table   =   ds.Tables["menu1"];  
   
  TreeNode   tmpNd   ;    
  dv.RowFilter   =   "parentid='"   +   parentId   +   "'";  
   
          foreach(DataRowView   drv   in   dv)  
                          {  
  tmpNd   =   new   TreeNode();  
  strid   =   drv["商品id"].ToString();  
                  tmpNd.ID   =   strid;  
  //tmpNd.Expanded   =   true;  
  tmpNd.Expanded=false;  
  tmpNd.Text   =   drv["商品名称"].ToString()   ;  
  if(drv["商品级别"].ToString()   !=   null)  
  { tmpNd.Target   =   "main";  
  }  
                  Nds.Add(tmpNd);  
  intiTree(Nds[Nds.Count   -   1].Nodes,   strid);  
                      }  
   
  }  
   
  }Top

11 楼Judges(随便什么都可以么?)回复于 2004-04-02 16:04:28 得分 0

web   窗体里面没有treeview啊!?Top

12 楼stpangpang(胖在一方)回复于 2004-04-02 18:44:35 得分 0

思路就是   在datalist   中列出每个类别,然后在datalist的itemdatabound事件中,绑定   每个类别的详细信息   到datagrid中~~~Top

13 楼Judges(随便什么都可以么?)回复于 2004-04-05 08:05:23 得分 0

还是先给分了     我自己再试试     谢谢胖哥   newcarTop

相关问题

  • 这个是在asp中写的,怎么改成C#格式,谢谢!
  • 象易趣网那种赦填入密码和姓名的格式是怎样的和如何学习?是asp来实现的吗?
  • asp字符的格式化
  • asp字符的格式化
  • 请教:如何格式化win2000的ntfs格式的C盘
  • 怎么样把C盘FAT32格式转换成NTFS格式?
  • 字符串格式转化为时间格式(asp.net+c#)
  • 请教C++输入格式问题
  • windows2000怎样格式化C盘?
  • 谁有PDF格式的C++ Primer,高分!

关键词

  • myhyperlink
  • 目录
  • hyperlink

得分解答快速导航

  • 帖主:Judges
  • pierven
  • stpangpang
  • newcar

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo