背景是我有一个自定义控件,它是一个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是正确的。
我真的被卡住了。
答案 0 :(得分:0)
我找到了答案,虽然我会把它留给其他可能会搜索的人:
但是我必须在xmldatasource上将“ENABLECACHING”设置为false。