/// <summary>
/// 获得遍历数组
/// </summary>
private void GetControls(ref Hashtable ht,Control topc)
{
if (topc.HasControls())
{
foreach (Control c in topc.Controls)
{
GetControls(ref ht, c);
}
}
else
{
if (topc is TextBox)
{
TextBox tb = (TextBox)topc;
ht.Add(tb.ID, tb.Text);
}
else if (topc is DropDownList)
{
DropDownList dl = (DropDownList)topc;
ht.Add(dl.ID, dl.SelectedItem.Text);
}
else if (topc is HtmlInputText)
{
HtmlInputText input = (HtmlInputText)topc;
ht.Add(input.ID, input.Value);
}
}
}
private void GetXml()
{
XmlDocument XmlDoc = new XmlDocument();
XmlElement parentNode;
XmlAttribute attr;
XmlDoc.AppendChild(XmlDoc.CreateXmlDeclaration("1.0", "gb2312", ""));
//根节点
XmlDoc.AppendChild(XmlDoc.CreateElement("Content"));
parentNode = XmlDoc.DocumentElement;
//遍历页面总所有控件
Hashtable ht = new Hashtable();
foreach (Control c in this.Controls)
{
GetControls(ref ht, c);
}
foreach (DictionaryEntry de in ht)
{
XmlElement ElemPlace = XmlDoc.CreateElement("ReplaceText");
attr = XmlDoc.CreateAttribute("Field");
attr.Value = de.Key.ToString();
ElemPlace.Attributes.Append(attr);
ElemPlace.InnerText = de.Value.ToString();
parentNode.AppendChild(ElemPlace);
}
Session["PrintXmlData"] = XmlDoc.InnerXml;
}