|
.net
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Adding EventHandler to DropDownList programicallyIm trying to add new EventHandler to DropDownList programically. Im doing something like this: DropDownList ddlCate = new DropDownList(); ddlCate.ID = String.Format("ddlCategory{0}", i++); ddlCate.DataSource = tblSub1; ddlCate.DataTextField = tblSub1.Columns["categories_name"].ColumnName; ddlCate.DataValueField = tblSub1.Columns["categories_id"].ColumnName; Panel1.Controls.Add(ddlCate); ddlCate.DataBind(); ddlCate.AutoPostBack = true; ddlCate.SelectedIndexChanged += new System.EventHandler(BindCategories); This is BindCategories function: void BindCategories(object sender, EventArgs e) { Response.Write("Event raised!"); } but when Im changing value in ddlCate BindCategories are not raised. Any help? thanks in advandce Darek My guess s that you have your code in a if (!Page.IsPostBack){}
since events happen on postback, they need to be setup during postback. Normally you'd just place the hook during init... onInit(object source, EventArgs e) { ddlCate.SelectedIndexChanged +=.... } since it's dynamic, simply put it out side the !Page.IsPostback Karl Show quoteHide quote "dtarczynski" <dtarczyn***@gmail.com> wrote in message news:1157635915.253863.56050@h48g2000cwc.googlegroups.com... > Hello. > Im trying to add new EventHandler to DropDownList programically. Im > doing something like this: > > DropDownList ddlCate = new DropDownList(); > ddlCate.ID = String.Format("ddlCategory{0}", i++); > ddlCate.DataSource = tblSub1; > ddlCate.DataTextField = > tblSub1.Columns["categories_name"].ColumnName; > ddlCate.DataValueField = > tblSub1.Columns["categories_id"].ColumnName; > Panel1.Controls.Add(ddlCate); > ddlCate.DataBind(); > ddlCate.AutoPostBack = true; > ddlCate.SelectedIndexChanged += new > System.EventHandler(BindCategories); > > This is BindCategories function: > > void BindCategories(object sender, EventArgs e) > { > Response.Write("Event raised!"); > > } > > but when Im changing value in ddlCate BindCategories are not raised. > Any help? > > thanks in advandce > Darek > Thanks for respose, but mayby you can answer me in more detail. Look
Karl. I have one DropDownList ddlCategories (I create it with designer), then I have added code for SelectedItemIndexChanged. I have to create another DropDownList when ddlCategories SelectedItemIndexChanged is raised. All my code looks like this: protected void Page_Load(object sender, EventArgs e) { } protected void ddlCategories_SelectedIndexChanged(object sender, EventArgs e) { if (...) { int i = 0; DropDownList ddlCate = new DropDownList(); ddlCate.ID = String.Format("ddlCategory{0}", i++); ddlCate.DataSource = tblSub1; ddlCate.DataTextField = tblSub1.Columns["categories_name"].ColumnName; ddlCate.DataValueField = tblSub1.Columns["categories_id"].ColumnName; pnlCat.Controls.Add(ddlCate); ddlCate.DataBind(); ddlCate.AutoPostBack = true; ddlCate.SelectedIndexChanged += new System.EventHandler(BindCategories); } } void BindCategories(object sender, EventArgs e) { Response.Write("Event raised!"); } Can you answer me, how to properly add this event handler please? Karl Seguin [MVP] napisal(a): Show quoteHide quote > My guess s that you have your code in a if (!Page.IsPostBack){} > > since events happen on postback, they need to be setup during postback. > Normally you'd just place the hook during init... > > onInit(object source, EventArgs e) > { > ddlCate.SelectedIndexChanged +=.... > } > > since it's dynamic, simply put it out side the !Page.IsPostback > > Karl
Other interesting topics
Response.AddHeader("Content-Disposition"....
WSDL Generated Proxy Classes? ClickOnce Button? Modal dialog in web application DIV runat=server vs PANEL Access COM object in Code behind(C#) classic ASP questions... ActiveX control to enable in Toolbox in ASP.Net open *.pdf in another drive Make a value the default in a databound dropdown |
|||||||||||||||||||||||