自定义动态创建菜单会产生一些奇怪的错误

时间:2009-01-14 20:17:07

标签: c# asp.net aspmenu

背景是我有一个自定义控件,它是一个asp:连接到xmldatasource的菜单。 xmldatasource是根据用户权限动态创建的。以下是自定义控件的加载事件:

  protected void Page_Load(object sender, EventArgs e)
    {
        string userId = (string)Session["userId"];

        if (userId != null)
        {
            DataSet ds = dal.RetrieveApplications(userId);
            ds.DataSetName = "Menus";
            ds.Tables[0].TableName = "Menu";
            DataRelation relation = new DataRelation
            ("ParentChild",
                ds.Tables["Menu"].Columns["Folder_Id"],
            ds.Tables["Menu"].Columns["Parent_Folder_ID"], true);

            relation.Nested = true;
            ds.Relations.Add(relation);


            xmlDataSource1.Data = ds.GetXml();

        }
}

这适用于使用它的第一个用户。但似乎每个后续用户实际上都获得了第一个用户的菜单。我已经完成了它并确认我的数据集已经很好地创建了,当我在加载结束时检查XMLDatasource.data时,xml是正确的。

我真的被卡住了。

1 个答案:

答案 0 :(得分:0)

我找到了答案,虽然我会把它留给其他可能会搜索的人:

但是我必须在xmldatasource上将“ENABLECACHING”设置为false。