Название не совсем точное, у меня есть элемент управления Container со свойством типа PanelControlCollection
, которое в основном представляет собой коллекцию PanelControl
:
public class PanelControl : System.Web.UI.WebControls.Panel
{
public string Title { get; set; }
}
public class PanelControlCollection : Collection<PanelControl> {}
Мой пользовательский пользовательский элемент управления:
public partial class FormSlideShow : BaseUserControl
{
[PersistenceMode(PersistenceMode.InnerProperty)]
public PanelControlCollection Panels Title { get; set; }
protected override void Render(HtmlTextWriter writer)
{
foreach(var panel in Panels)
{
ContentPlaceHolder.Controls.Add(
new LiteralControl("<fieldset class='step' Title='" + panel.Title + "'>"));
ContentPlaceHolder.Controls.Add(panel);
ContentPlaceHolder.Controls.Add(
new LiteralControl("</fieldset>"));
}
base.Render(writer);
}
}
Я хотел иметь возможность создать пользовательский элемент управления и добавить страницы в разметке (код в Default.aspx):
<ctrl:FormSlide runat="server" ID="frmSlide">
<Panels>
<ctrl:PanelControl runat="server" ID="page1"><asp:Button runat="server" ID="btnTest" OnClick="btnTest_Onclick" /></ctrl:PanelControl>
<ctrl:PanelControl runat="server" ID="PanelControl1">Page 2</ctrl:PanelControl>
</Panels>
</ctrl:FormSlide>
У меня вопрос, хочу ли я разместить элемент управления вобычная страница aspx, как я могу подключить свой элемент управления Button (btnTest) к событию OnClick в коде позади default.aspx?Если я поместил обычный элемент управления Panel с помощью кнопки, я могу прикрепить события к onclick, но не с помощью своего пользовательского элемента управления.
Кстати, вот мой код на default.aspx, код, который я хочу выполнить, но't:
protected void btnTest_Onclick(object sender, EventArgs e)
{
Response.Redirect("http://www.google.com");
}
Спасибо.