یک پروژه از نوع ASP.Net Ajax Server Control درست کن. در این صورت فایل ServerControl1 را در پروژه مشاهده خواهی نمود. در تابع Render با استفاده از HtmlTextWriter هر آنچه که می خواهی رو به صورت رشته ای Write کن. در HtmlTextWriterتوابع زیادی موجود هست که در حد حوصله من در این پست نیست(من فقط سرنخ رو خدمت شما عرضه می کنم و مابقی به همت خودتان).
یک نمونه کد رو در زیر می بینید:
[Category("Appearance"), Editor("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)), UrlProperty]
public string ImageUrl
{
get
{
string str = (string)this.ViewState["ImageUrl"];
if (str != null)
{
return str;
}
return string.Empty;
}
set
{
this.ViewState["ImageUrl"] = value;
}
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
writer.Write("<img src='" + ImageUrl + "' id='" + this.ClientID + "' />");
}
لازم نیست حتما با با مقادیر رشته ای کار کنید مخصوصا هنگام کار با جداول که مسلما اگه رشته ای کار کنید احتمال خطا و اشتباه در اون زیاده. مثال زیر رو ببین:
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
Table tb = new Table();
TableRow r=new TableRow();
tb.Rows.Add(r);
r.Cells.Add(new TableCell());
r.Cells.Add(new TableCell());
tb.RenderControl(writer);
}
برای حرفه ای شدن در این کار راه درازی باقیست. و این پست مجال شرح کامل رو به من نمیده. امیدوارم مفید واقع بشه