0

背景是我有一个自定义控件,它是一个链接到 xmldatasource 的 asp:Menu。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 是正确的。

我真的被困住了。

4

1 回答 1

0

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

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

于 2009-01-14T20:39:17.773 回答