Uc1.ascx----------<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Uc1.ascx.cs" Inherits="Controls_Uc1" %>This is Uc1<asp:Button ID="btnButton1" runat="server" Text="Click" OnClick="btnButton1_Click" /><asp:DropDownList ID="drp1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="drp1_OnSelectedIndexChanged"><asp:ListItem>One</asp:ListItem><asp:ListItem>Two</asp:ListItem><asp:ListItem>Three</asp:ListItem><asp:ListItem>Four</asp:ListItem></asp:DropDownList>Uc1.ascx.cs-------------using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Controls_Uc1 : System.Web.UI.UserControl{#region DECLRATIONSpublic delegate void MyCustomHandler(object sender, EventArgs e); //This is for button clickpublic event MyCustomHandler SomethingClicked;public delegate void MyCustomSelectedHandler(object sender, EventArgs e); //This is for Dropdown selectedpublic event MyCustomSelectedHandler SomethingSelected;#endregionprotected void Page_Load(object sender, EventArgs e){}protected void btnButton1_Click(object sender, EventArgs e){//tell our parent page which is listening for the event that something was clicked//this null check and method invoke is the equivalent of raise event in VBif (SomethingClicked != null){SomethingClicked(sender, e);}//do some other work specific to this button in the user control}protected void drp1_OnSelectedIndexChanged(object sender, EventArgs e){if (SomethingSelected != null){SomethingSelected(sender, e);}}}
Default3.aspx---------------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %><%@ Register Src="~/Controls/Uc1.ascx" TagName="Users" TagPrefix="Magic" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><title></title></head><body><form id="form1" runat="server"><div><asp:Button ID="btn1" runat="server" Text="Load Control1" /><table><tr><td><asp:PlaceHolder ID="phModule" runat="server"></asp:PlaceHolder></td></tr></table></div></form></body></html>Default3.aspx.cs--------------------using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default3 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){phModule.Controls.Clear();Control myUserControl = (Control)Page.LoadControl("~/Controls/Uc1.ascx");// Place web user control to place holder controlif (myUserControl != null){Button btnButton1 = (Button)myUserControl.FindControl("btnButton1");btnButton1.Click += new EventHandler(CustomerEmail1_RestoreModalDialog);DropDownList drp1 = (DropDownList)myUserControl.FindControl("drp1");drp1.SelectedIndexChanged += new EventHandler(drp1_SelectedIndexChanged);}phModule.Controls.Add(myUserControl);}protected void CustomerEmail1_RestoreModalDialog(object senders, EventArgs e){ScriptManager.RegisterClientScriptBlock(this, GetType(), "clientkey", "<script>alert('Button1 Clicked');</script>", false);}protected void drp1_SelectedIndexChanged(object sender, EventArgs e){ScriptManager.RegisterClientScriptBlock(this, GetType(), "clientkey", "<script>alert('Make Parent Pages Modal Popup visible when UserControls dropdownlist posted back');</script>", false);}}
0 comments:
Post a Comment