ورود

View Full Version : سوال: خطا هنگام سریالایز کردن کنترل ها There was an error reflecting type 'System.Web.UI.WebControls.Table



thinksomid
پنج شنبه 12 مرداد 1391, 10:05 صبح
There was an error reflecting type 'System.Web.UI.WebControls.Table'.

سلام دوستان
وقتی در متد وب سرویسم یک کنترل asp table رو سریالایز میکنم و میخوام برستم به کلاینت خطای بالا رخ میده.
یدونم که همه کلاسها و ابجکتها قابلیت سریال رو ندارن.
ولی باید یه راهی باید باشه هر چیزی رو بشه فرستاد سمت کلاینت.
از تگهای لازم مثل [Serializable()] هم استفاده شده.
خلاصه کد من بشرح زیر:
ممنون میشم راهنمایی کنین.

++++++++++++++++++++++++++++++
[WebMethod]
public string mtdGetLayOut()
{
return new clsLayout().mtdGetLayOut();
}
+++++++++++++++++++++++++++++++++
public string mtdGetLayOut()
{
//int trCount = 3;
//int tcCount = 2;

Table tbl = new Table();
tbl.ID = "tbl0";
tbl.BorderWidth = 5;
tbl.BorderColor = System.Drawing.Color.Black;


TableRow tr;

tr = new TableRow();
tr.ID = "r0";

TableCell tc;

tc = new TableCell();
tc.ID = "c0";

Label lbl = new Label();
lbl.ID = "lbl0";
lbl.Text = "test test test";

tc.Controls.Add(lbl);
tr.Cells.Add(tc);
tbl.Rows.Add(tr);


return clsBase.clsSerializer.Serialize(tbl);
}
++++++++++++++++++++++++++++++++++++++
public static string Serialize(object Object)
{
return Serialize(Object, new Type[] { });
}
public static string Serialize(object Object, Type[] extraTypes)
{

System.IO.MemoryStream m = new System.IO.MemoryStream();

string Xml = string.Empty;

XmlSerializer x = new XmlSerializer(Object.GetType(), extraTypes);

x.Serialize(m, Object);

m.Flush();

Xml = System.Text.Encoding.UTF8.GetString(m.ToArray());

m.Close();

return Xml;
}