为什么一定要用Span呢?直接在页面上放置DataList不行吗?

解决方案 »

  1.   

    就用datalist+datagrid控件就可以了阿(datalist控件也支持选择等),只不过比较复杂一点,给你段代码,你好好研究一下,应该会有启发————default.aspx部分
    ___________________<asp:DataList ID="DataList1" Runat="server" Width="100%" BorderWidth="0" CellPadding="0" CellSpacing="0"> 
    <ItemTemplate>

      <table width="100%" border="0" cellpadding="0" cellspacing="0">
                        <tr> 
                          <td height="1" colspan="2" bgcolor="#293084"><img src="images-v1/shim.gif" width="1" height="1"></td>
                        </tr>
                        <tr> 
                          <td width="24%" height="15" align="center" valign="bottom" class="hot">
      <asp:Label ID="ClassId" Runat="server" Visible="False" text='<%# DataBinder.Eval(Container.DataItem, "Id") %>'></asp:Label>
      <%# DataBinder.Eval(Container.DataItem, "subject_name") %>
      </td>
                          <td width="76%" height="15"><img src="images-v1/biao1.gif" width="18" height="16"></td>
                        </tr>
                        <tr bgcolor="#293084"> 
                          <td height="1" colspan="2"><img src="images-v1/shim.gif" width="1" height="1"></td>
                        </tr>
                        <tr valign="top"> 
                          <td colspan="2">

    <asp:DataGrid id="DataGrid1" runat="server" ShowHeader="False" AutoGenerateColumns="False" BorderWidth="0px" cellpadding="1" CellSpacing="1" Width="100%">
    <Columns>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="30px">
    </ItemStyle>
    <ItemTemplate>
    <img src='images-v1/biao2.gif' border='0'>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle VerticalAlign="top">
    </ItemStyle>
    <ItemTemplate>
    <a href="view.aspx?sid=<%# DataBinder.Eval(Container.DataItem, "subjectid") %>&srelation=<%# DataBinder.Eval(Container.DataItem, "subjectrelation") %>&cid=<%# DataBinder.Eval(Container.DataItem, "contentid") %>" class="mainlinks" target="_blank">
    <%# DataBinder.Eval(Container.DataItem, "contenttopic") %>
    </a>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle HorizontalAlign="Center" Width="80" CssClass="mainlinks">
    </ItemStyle>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "updatatime") %>
    </ItemTemplate>
    </asp:TemplateColumn>

    </Columns>
    </asp:DataGrid>

    </td>
                        </tr>
                      </table>
      </ItemTemplate>
    </asp:DataList>
      

  2.   

    后置代码部分————
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    .....main()
    ......End Sub Private Sub main()
            Dim subject_sql As String = "select id,subject_name from index_subject"
            Dim subject_result As SqlDataReader = elmain.GetList(subject_sql, sqlstr)
            DataList1.DataSource = subject_result
            DataList1.DataBind()
            subject_result.Close()        Dim i As Integer
            For i = 0 To DataList1.Items.Count - 1
                classId = DataList1.Items(i).FindControl("ClassId")
                Dim DataGrid1 As DataGrid = DataList1.Items(i).FindControl("DataGrid1")
                Dim maindetail_sql As String = "select top 5 subjectid,subjectrelation,contentid,contenttopic,convert(char(10),Updatatime,126) as Updatatime from index_content where subjectrelation=" & classId.Text & " or subjectId=" & classId.Text & " order by Updatatime desc"
                subject_result = elmain.GetList(maindetail_sql, sqlstr)
                DataGrid1.DataSource = subject_result
                DataGrid1.DataBind()
                subject_result.Close()
            Next     End Sub
      

  3.   

    相信你仔细看完代码就会有所启发。准备接分~~hoho ~~~
      

  4.   

    用DataGrid就可以实现,用模板列
      

  5.   

    确实有所启发,谢谢
    但我想知道,我那种方法有没有挽救的余地?
    就是可不可能做到控制通过result.InnerHtml="<asp:datalist ...>动态产生的控件?
    请各位高手指点指点~~~无限感谢
      

  6.   

    单用datagrid要做到我说的那种效果不太好实现吧,请caoit(努力学习.Net) 指教
      

  7.   

    靠,楼主,你怎么删我的帖子呀.可不可以实现这种:Datagrid里嵌套datalist?
      

  8.   

    NetFire(NetFire)和大家都来帮忙阿: 
    两天了啊,还没解决呢,动态产生的控件中事件的处理又出问题了,我用两个repeater控件和一个datalist控件产生效果,但是在捕获datalist控件的事件上出了问题了,老是得不到该控件,我在datalist控件中有个linkbutton控件,通过
    (LinkButton)e.CommandSource 能得到linkbutton控件,但想通过访问该控件的parent属性来得到父控件却不成功,怎么办阿?