第2個,給妳個建議
<?xml version="1.0" encoding="utf-8"?>
<controls>
<control>
<size>20</size>
<position>center</position>
</control>
<control>
<size>50</size>
<position>left</position>
</control>
</controls>
第3個,怎麽讀取xml不知道妳了解不,用到System.Xml命名空間,以第2個的例子,找到下面所有control節點,每個節點對應壹個按鈕..
using System;
using System.Xml;
using System.Web.UI.WebControls;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("妳的配置文件路徑"));
XmlNodeList nol = doc.SelectNodes("/controls/control");
foreach (XmlNode no in nol)
{
Button btn = new Button();
btn.Text = no.SelectSingleNode("text").InnerText;
//以此類推
//如果需要指定Button的點擊事件,則需要用到委托
btn.Click += new EventHandler(btnClick);
//將Button添加到頁面,也可以是其他服務器控件
Page.Controls.Add(btn);
}
}
protected void btnClick(object sender, EventArgs e)
{
Response.Write("按鈕被點擊了");
}
}
另外,如果妳不只創建按鈕,而需要自定義控件類型,那麽可能還需要用到反射,建議妳可以在xml中定義壹個節點<type>button</type>,<type>text</type>,用來標誌類型,.只需要放入常見的壹些控件類型,然後創建時做個switch判斷就行了,反射效率低些而且處理也復雜