473,396 Members | 1,891 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Selected Index event not firing

I have a dropdown combo box on a form and I have its AutoPostBack property
set to true. When I select something from the list it does a postback and
then the Page_Load event fires followed by it's SelectedIndexChanged event.

However, when I go back to this control again and select the first item in
the list, it does a postback and the Page_Load event fires, but the
SelectedIndexChanged doesn't fire. Why does the SelectedIndexChanged get
skipped when selecting the first item in the list?

In summary, I have a dropdown list. I select the 3rd item in the list and
the SelectedIndexChanged fires like it should. As I step through the code I
see the selected index = 2. Now when I go back and select the first item in
the list and step through the code I can see the selected index =0 (changed
from 2), but the SelectedIndexChanged doesn't fire.

How can I resolve this?

Thanks.

--
mo*******@nospam.com
Nov 18 '05 #1
12 3964
Make sure the event is defined (instantiated) in the IntializeComponent
procedure.
--
Peter O'Reilly
Nov 18 '05 #2
Can you give me an example of how I would do that? (vb.net if you can....)
Its not in the IntializeComponent and its simply declared like this:

Protected WithEvents cmbShipMethod As System.Web.UI.WebControls.DropDownList
Thanks.

--
mo*******@nospam.com
"Peter O'Reilly" <Pe***********@timeinc.com!N!O!.S!P!AM!> wrote in message
news:ee*************@TK2MSFTNGP09.phx.gbl...
Make sure the event is defined (instantiated) in the IntializeComponent
procedure.
--
Peter O'Reilly

Nov 18 '05 #3
Hello,

Based on your description, I build a simple test web form. However, I
haven't found the problem you mentioned. I just add some code in
DropDownList1_SelectedIndexChanged:

Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Response.Write("changed")
End Sub

And add a breakpoint at the line. After run the application, the breakpoint
get stopped whenever I select a item in the dropdown list control.

Can you post some of your code to clarify the problem? Maybe we can get
more detail informaiton from that.

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
Nov 18 '05 #4
It is really a strange problem! After check your code, I found it seems to
be related to your base page. If I added the control on a normal web form,
it worked. Especially, with the MoveControl method in base page. Everytime
we select a item, the code in MoveControls will be executed, and it cause
the problem. If I remove the MoveControls, and add the control in another
way:

Public Class zTestDropdown
Inherits BrowserTest.BasePage

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim cc As Control = Page.LoadControl("shoppingcart.ascx")
cc.Visible = True
Me.ContentArea.Controls.Add(cc)
End Sub

This seems to fix the problem.

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #5
Hello,

This time the 'bad" line is:

Me.cellContentContainer.Controls.Clear()

If I replace it with

Me.cellContentContainer.Controls.RemoveAt(0)

Dim l1 As New LiteralControl
Me.cellContentContainer.Controls.Add(l1)

Me.cellContentContainer.Controls.Add(cc)

Then it seem to work.

Regarding all of these issues, I suggest you may consider frameset instead
embed asp.net user control. For example, in the default.aspx:

<td id="cellContentContainer" vAlign="top" bgColor="#ccccff" runat="server">

<iframe src=home.aspx></iframe>

</td>

How about this?

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #6
I found one piece of information that may or may not lead to some insight:
I re-created this page as a stand alone page (did not inherit from the
basepage), and put all the html and code behind from the shoppingcart.ascx
into shoppingcart.aspx and noticed I was still getting the same bad
behavior. After testing it I found that cmbShipMethod's viewstate was
false. After setting it to true, I found that everything worked OK. I'm
sure that ealier I had tested viewstate as both true and false on everything
I could find to see it that would help, but for some reason it helped on
this new page. So I went back to the derived page with shoppingcart.ascx
(the one I gave you in the above posting) and found that setting the
viewstate to true or false had no effect on the behavior. My conclusion
thus far is that there might be some problem with the dropdownlist's
viewstate from the user control or because the page is inheriting from the
base page, or a combo of both.

--
mo*******@nospam.com
"moondaddy" <mo*******@nospam.com> wrote in message
news:eL**************@TK2MSFTNGP11.phx.gbl...
This is getting really confusing and frustrating. The code that didn't work is code that was given to me in this user group. It worked under a previous scenario, but not this one. How should one know when to use what syntax?
This isn't documented. I'm not coming down on you as you are being a great help and I'm happy for that. However, as soon as the environment changes a bit, the code doesn't work again and I have to ask you again for a solution. Either I really don't know how to use the dropdown or it has some
shortcomings in these more complicated environments in which case the
development team needs to know about this if they don't already. OK enough of that rant.

Switching user controls is leading to lots of various problems so I'm going with a slightly different model. This one is where each user control
(controls used for the main content of a page) get their own page and each
page inherits from the basepage. This way there's no confusion as to which page a control is in. For example, the products.ascx lives in
products.aspx, aboutus.ascx lives in aboutus.aspx, and so on. Not as
elegant (or fast... I think) as one page-many controls, but more stable.

So back to this troubled dropdown. Your code below worked when trading out a control for another, but this time the shoppingcart control is constant in the shoppingcart page and we're back to the same old problem.

I'm attaching a new sample project. run this project using default.aspx as the startup page and click
on the link on the left "Shoppingcart Test" to load the shopping cart for
testing. You will see what I mean. If you can help with this it would be
great as this is the model I think I'm going to go with.

As for your comment about using frames. I wish I could. I spent the first part of this project building it out in frames and it worked totally great. but for reasons I have to do away with frames and so here I am.

Thanks again!!!

--
mo*******@nospam.com
"[MSFT]" <lu******@online.microsoft.com> wrote in message
news:Uu*************@cpmsftngxa10.phx.gbl...
Hello,

This time the 'bad" line is:

Me.cellContentContainer.Controls.Clear()

If I replace it with

Me.cellContentContainer.Controls.RemoveAt(0)

Dim l1 As New LiteralControl
Me.cellContentContainer.Controls.Add(l1)

Me.cellContentContainer.Controls.Add(cc)

Then it seem to work.

Regarding all of these issues, I suggest you may consider frameset instead embed asp.net user control. For example, in the default.aspx:

<td id="cellContentContainer" vAlign="top" bgColor="#ccccff"

runat="server">

<iframe src=home.aspx></iframe>

</td>

How about this?

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)



Nov 18 '05 #7
To get the event from controls. Viewstate is necessary. Regarding the
issue, I can't open you sample project "BsPgSample", it reported an error
when I open ShoppingCart.aspx. I check the code with Notepad and find the
movecontrols method is still used. This may the root cause of the problem

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #8
I have to use the movecontrols method because the base page has table in it
which is used to hold a user control for the header and another user control
for the left nav bar. with our the movecontrols method, things dont get
placed on the page correctly. the header and nav bar are on the bottom of
the page.

What kind of error did you get? could you open any other page? I would
like to send you a working sample if possible. This whole thread stems from
a shortage of good documentation and sample code for base pages in vb.net
and I've spend a ton of time trying to get a solid model working. It would
be nice if someone from MS could help in getting a proper base page working.
Please let me know what I can do so send you a sample that runs.

Thanks.

--
mo*******@nospam.com
"[MSFT]" <lu******@online.microsoft.com> wrote in message
news:5D**************@cpmsftngxa10.phx.gbl...
To get the event from controls. Viewstate is necessary. Regarding the
issue, I can't open you sample project "BsPgSample", it reported an error
when I open ShoppingCart.aspx. I check the code with Notepad and find the
movecontrols method is still used. This may the root cause of the problem

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #9
Thanks, I think this will fix the load problem: Attached are 2 text files,
one with the base page html and the other with the code behind. Delete the
existing base page out of the project I sent you (BsPgSample) and add a new
webworm and call it "Base.aspx". Then add the html and code behind from the
attached text files and it should run OK. Make sure that shopping.aspx
inherits from the new base correctly (Inherits BsPgSample.Base).

Please let me know if this fixed the load problem and what you can find out.

--
mo*******@nospam.com
"[MSFT]" <lu******@online.microsoft.com> wrote in message
news:vo**************@cpmsftngxa10.phx.gbl...
I can open the solution. But when I double click to open shoppingcart.aspx, there was an error. I have attached it in this message.

Luke

Nov 18 '05 #10
I hit send with out attaching the text files. here they are:

--
mo*******@nospam.com
"[MSFT]" <lu******@online.microsoft.com> wrote in message
news:vo**************@cpmsftngxa10.phx.gbl...
I can open the solution. But when I double click to open shoppingcart.aspx, there was an error. I have attached it in this message.

Luke



Nov 18 '05 #11
Hello,

I found two files are with same content:

<%@ Page Language="vb" AutoEventWireup="false"
Codebehind="BasePage.aspx.vb" Inherits="BsPgSample.BasePage"%

Did you miss the code behind file?

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #12
Hello,

Can you tell me what you want to do in selecteditemchanged actually? Maybe
I can assis you find a final solution for the problem.

regards,

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 18 '05 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Steffen Laser | last post by:
Hi group, I have a problem that I already have posted to the german C# newsgroup. Since nobody could help me there, I'd like to try it here again: I set the selected item of a combobox like...
2
by: Eric Jelinek | last post by:
I need a little help here, I have a list view that may contain only a few items. If the size of the listview is larger then what I need to hold the items, and then the user click on whitespace, how...
5
by: tshad | last post by:
Is there a way to allow a user to press a radio button if it is already selected? There is an onCheckedChanged event that fires when the person presses the button and it is isn't selected...
5
by: Steve Jones | last post by:
Hi there, I am working with web forms, and am finding that the standard list of combo box events is dramatically reduced when using the dropdownlist. For example, the only event that I can see...
5
by: Patrick.O.Ige | last post by:
I'm binding a CheckBoxlist below in the ItemDataBound(the CheckBoxList is in a Datalist) By doing "li.Selected = True" i can see all the checkBoxes are selected. But what i want is to be able...
1
by: Andy | last post by:
Hello, I have a datagrid within another datagrid. The innder datagrid contains a dropdownlist which fires an event as index change (OnSelectedIndexChanged). I can get the ItemIndex of the...
3
by: n. Smith | last post by:
Hi All, Is it normal that the ListView fires the selectedinexchange event twice? I have a LvLoaners list view item that updates 3 text boxes (code below), when I click on an item. I have set...
5
by: Dick | last post by:
I have a GridView bound to an ObjectDataSource. I have a Button that calls GridView.DataBind. I want the row that is selected before the DataBind to still be selected afterwards. This happens...
11
by: Santosh | last post by:
Dear all , i am writting following code. if(Page.IsPostBack==false) { try { BindSectionDropDownlist();
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.