我正在开发一个asp.net webforms项目。我有两个xml文档 - 一个是包含所有节点的XML,但没有填充任何属性。我使用它来显示处于空状态的Telerik树视图控件。然后我使用属性值填充此xml,这些属性值对应于树视图中的已检查节点。两种类型的xml都在数据层中创建。当页面加载时,我创建了空白的xml。我想把它保存在会话中。后来,我想从会话中检索空白的xml并将其发送到数据层以填充属性。代码如下。虽然我从未在会话中填充xml属性,但是当执行以下代码的最后一行时,会话中的xml也会被修改。可能是因为我使用相同的名称datesXml。不知道如何解决它。
var datesXml = new XmlDocument();
if (HttpContext.Current.Session["BLANK_XML"] != null)
{
datesXml = (XmlDocument)HttpContext.Current.Session["BLANK_XML"];
}
else if (HttpContext.Current.Session["BLANK_XML"] == null)
{
datesXml = dataLayer.GetBlankXML(queryData);
HttpContext.Current.Session.Add("BLANK_XML", datesXml);
}
if (!blankDocument)
{
datesXml = dataLayer.GetDataXML(queryData, datesXml);
}