首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

Accordion 嵌套取值 100分

2012-02-15 
Accordion 嵌套取值 100分 - Web 开发 / Ajax想用Accordion 实现菜单功能。我这大类跟小类都想从数据库读取

Accordion 嵌套取值 100分 - Web 开发 / Ajax
想用Accordion 实现菜单功能。
我这大类跟小类都想从数据库读取。
大类一
  小类1
大类二
  小类2
  小类21
  小类22
大类三
  小类3
  小类31
  小类32

像上面的那样。
为什么我绑定了以后数据却没有显示出来。
有源码的考一份也可以


//我的代码,不过我的外面还有一层UpdatePanel

C# code
 
      <asp:DataList id="DataList3" runat="server" DataSourceID="SqlDataSource1" Height="33px" Width="755px" DataKeyField="CourseId">
                <ItemTemplate>
                    <cc1:Accordion ID="Accordion1" HeaderCssClass="accordionHeader" ContentCssClass="accordionContent" SuppressHeaderPostbacks="true" RequireOpenedPane="false" runat="server">
                        <Panes>
                            <cc1:AccordionPane ID="AccordionPane1" runat="server" >
                                <Header> <asp:Label id="Label7" runat="server" Text=' <%# Bind("CourseName") %>'> </asp:Label> </Header>
                              <Content>
                                  <asp:DataList ID="DataList" runat="server" DataSourceID="SqlDataSource2" DataKeyField="">
                                        <ItemTemplate>
                                            <asp:Label id="Label6" runat="server" Text=' <%# Bind("LWContent") %>'> </asp:Label>
                                        </ItemTemplate>
                                  </asp:DataList>
                                </Content>
                            </cc1:AccordionPane>
                        </Panes>
                    </cc1:Accordion>
                </ItemTemplate>
            </asp:DataList>

<asp:SqlDataSource id="SqlDataSource1" runat="server" SelectCommand="SELECT [CourseId], [CourseName] FROM [CourseLWInfo] WHERE ([Tid] = @Tid)" ConnectionString=" <%$ ConnectionStrings:LoreMartConnectionString %>">
    <SelectParameters>
        <asp:SessionParameter Name="Tid" SessionField="TeacherId" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString=" <%$ ConnectionStrings:LoreMartConnectionString %>"


                SelectCommand="SELECT [LWContent], [LWTime], [LWState], [RevertContent], [RevertTime] FROM [CourseLWInfo] WHERE (([LWState] <> @LWState) AND ([CourseId] = @CourseId))">
                <SelectParameters>
                    <asp:Parameter DefaultValue="1" Name="LWState" Type="Int32" />
                    <asp:ControlParameter ControlID="DataList1" Name="CourseId" PropertyName="SelectedValue"
                        Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>



[解决办法]
帮顶~
[解决办法]
完全不懂````
[解决办法]
看不懂. 帮你顶上去...
[解决办法]
你先在页面的后置代码设置断点 看看从数据层得到的数据 
到底是不是你想要的
[解决办法]
前台
<cc1:Accordion ID="Accordion1" runat="server" HeaderCssClass="headerBg" ContentCssClass="content">
<Panes>
</Panes>
</cc1:Accordion>

后台
if (!IsPostBack)
{
string id =Session["userid"].ToString();
//string id = "CZY01";
DataSet ds = BLL.Sys_permitManager.GetLeft(id);
DataTable dt = ds.Tables[0];
DataView dv = ds.Tables[1].DefaultView;

foreach (DataRow row in dt.Rows)
{
AccordionPane ap = new AccordionPane();
Label header = new Label();
header.Text = row["title"].ToString();
ap.HeaderContainer.Controls.Add(header);
int i = Convert.ToInt32(row["id"].ToString());
dv.RowFilter = "parentid=" + i.ToString();
foreach (DataRow row1 in dv.ToTable().Rows)
{
Label conten = new Label();
conten.Text = "<a target='" + row1["target"].ToString() + "' href='" + row1["url"].ToString() + "'>" + row1["title"] + "</a><br/><br/>";
ap.ContentContainer.Controls.Add(conten);
}
Accordion1.Panes.Add(ap);
}
// Accordion1.SelectedIndex = 0;

}
我以前项目的一段例子


[解决办法]

[解决办法]
帮DING

热点排行