27 Temmuz 2011 Çarşamba

User Control İçinden fırlatılan Event'i Sayfa içerisinden Yakalamak. (user control aspx event catch)

User Control

 

public partial class LokasyonUserControl :  System.Web.UI.UserControl

 

    {

        public event System.EventHandler SelectedItemDegisti;

 

        protected void LokasyonTipiRComboBox_SelectedIndexChanged(object sender, EventArgs e)

        {

            LokasyonTipiId = Convert.ToInt64(LokasyonTipiRComboBox.SelectedValue);

            if (this.SelectedItemDegisti != null)

                this.SelectedItemDegisti(sender, e);

        }

}

 

User Control Kullanan Sayfa

 

protected override void OnInit(EventArgs e)

        {

            LokasyonUserControl.AutoPostBack = true;

            LokasyonUserControl.SelectedItemDegisti += new EventHandler(LokasyonUserControlTarifeTipiDegistigindeYapilacakIsler);

           

        }

 

        protected void LokasyonUserControlTarifeTipiDegistigindeYapilacakIsler(object sender, EventArgs e)

        {

            //((Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs)(e)).Value 'nün içinde LokasyonId 7 olarak geliyor. Bu da kullanılabilir.

            if (LokasyonUserControl.LokasyonTipiId.ToString() == ((long)Distributable.Enumerations.EIMISEnum.LokasyonTipi.IcKonteynerMerkezi).ToString())

            {

                RejimRRadioButtonList.SelectedIndex = 0;

                RejimRRadioButtonList.Enabled = false;

            }

            else

            {

                RejimRRadioButtonList.Enabled = true;

            }

        }

 

Yakalan Event de çağırılan metod, sayfada bir kontrolün görselliği ile ilgili bir değişiklik yapıyorsa, User control ve görselliği etkilenen kontrol ajax kontrolü içine alınmalıdır.

 

<asp:Content ID="Content1" ContentPlaceHolderID="AjaxContent" runat="server">

    <telerik:RadAjaxManagerProxy ID="TanımlamaRadAjaxManagerProxy" runat="server">

        <AjaxSettings>

            <telerik:AjaxSetting AjaxControlID="LokasyonUserControl">

                <UpdatedControls>

                    <telerik:AjaxUpdatedControl ControlID="LokasyonUserControl" />

                    <telerik:AjaxUpdatedControl ControlID="RejimRRadioButtonList" />

                </UpdatedControls>

            </telerik:AjaxSetting>

            </AjaxSettings>

    </telerik:RadAjaxManagerProxy>

</asp:Content>

 

 

Hiç yorum yok:

Yorum Gönder