各位 我用了repeater控件嵌套来显示一级目录和该一级目录下的二级目录:如
物理
高中物理 初中物理 大学物理
数学
高中数学 大学数学 
化学
无机化学 有机化学代码如下
<asp:Repeater ID="Repeater1" runat="server" >
    <ItemTemplate>
<table>
<tr>
<td><asp:HyperLink id=Grid_name NavigateUrl='<%# "CategoryDetail.aspx"+"?"+"category_id="+Server.UrlEncode(DataBinder.Eval(Container.DataItem, "FirstDir_id").ToString())%>'  runat="server">
<%#Server.HtmlEncode(DataBinder.Eval(Container.DataItem, "FirstDir_name").ToString())%>
</asp:HyperLink>&nbsp;

</td>
</tr>
<tr>
<td>
<uc1:SecondDir ID="SecondDir2" FirstDir='<%# Server.HtmlEncode(DataBinder.Eval(Container.DataItem, "FirstDir_id").ToString())%>'  runat=server /></td>
</tr>
</table>    </ItemTemplate>
    </asp:Repeater>内层repeater定义如下:
public partial class SecondDir : System.Web.UI.UserControl
{
    private string firstDir;
    protected void Page_Load(object sender, EventArgs e)
    {
        string sConnectionString = ConfigurationManager.AppSettings["SQLConnectionString"];
        //创建一个连接实例
        SqlConnection Connection = new SqlConnection(sConnectionString);
        Connection.Open();
        string sSQL = "select [e].[typeid] as Type_id, " +
                "[e].[typename] as Type_name " +
                "from Qtype e where fid='" + firstDir + "'";
        SqlDataAdapter command = new SqlDataAdapter(sSQL, Connection);
        DataSet ds = new DataSet();
        command.Fill(ds);
        DataView Source;
        Source = new DataView(ds.Tables[0]);
        Repeater2.DataSource = Source;
        Repeater2.DataBind();
        Connection.Close();
    }
    public string FirstDir
    {
        set
        {
            this.FirstDir = value;        }    }
}计划是通过内层repeater的FirstDir属性来传入一级目录的id 然后通过该id来检索一级目录下的二级目录。可是在运行的时候总是不断的执行set{this.FirstDir = value}语句直至溢出 而且value值总是00。
如果我在内层嵌套中只是输出参数,则正确 输入如
语文
00
数学
01
化学
02不知道是内层嵌套的repeater那里错了 请各位指点!!