PDA

View Full Version : سوال: عدم اجرای OnClick event برای Button در ASP.NET ؟



mdssoft
سه شنبه 09 آذر 1389, 16:38 عصر
با سلام ،
من دارم روی یک Custom Server Control توی ASP.NET با زبان C# کار می کنم.
می خوام داخل تگ سرور کنترل من هر چی کنترل ASP.NET بود Render بشن و در خروجی نمایش داده بشن.
من با استفاده از کد زیر این کار رو انجام دادم :


if (webControl != null)
{
Html.Append("<li>");//Html is a StringBuilder , final output of control
webControl.EnableViewState = true;
this.Controls.Add(webControl);

webControl.EnableViewState = true;
StringBuilder sb = new StringBuilder();
sb.Append("<div>");
System.IO.TextWriter tw = new System.IO.StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(tw, "");
webControl.RenderControl(htw);
sb.Append("</div>");

Html.Append(sb.ToString());
Html.Append("</li>");
}

کد بالا کار می کنه و تمامیه کنترل های داخل تگ سرور کنترل من رندر میشن و در خروجی نمایش داده میشن ، اما یه مشکلی هست. اونم اینه که event های این کنترل ها دیگه کار نمی کنه ، مثلا در کد زیر :


<MdsMenu:Menu ID="Menu1" runat="server" AnimationSpeed="Fast" AnimationType="Width_Toggle"
DropShadow="false" VerticalOrHorizontal="Horizontal" AutoArrows="true" Direction="RightToLeft">
<MdsMenu:MenuItem Text="Simple" Href="#">
<MdsMenu:MenuItem Text="Button" Href="#">
<asp:Button ID="Button1" runat="server" Text="Button 01" OnClick="Button_Click" />
<asp:Button ID="Button2" runat="server" Text="Button 02" OnClick="Button_Click" />
<asp:Button ID="Button3" runat="server" Text="Button 02" onclick="Button_Click"/>
</MdsMenu:MenuItem>
</MdsMenu:Menu>

protected void Button_Click(object sender, EventArgs e)
{
Button senderButton = sender as Button;
Label1.Text = "شما دکمه " + senderButton.ID.ToString() + " را فشار دادید";
}هیچ وقت متد Button_Click فراخوانی نمیشه ، اما به محض اینکه همین کنترل های button رو (مثلا Button2) رو از داخل تگ MdsMenu:Menu بیرون میارم ، متد Button_Click فراخوانی میشه !!!
مشکل کد من کجاست ، ممنون میشم راهنماییم کنید ؟