views:

289

answers:

0

Short of posting my entire website here, I will first try and explain what is actually happening.

First off, I have a simple website that has a master page etc. Simple backend database, no bells and whistles just simple stuff.

However whenever I use a control that will make use of a partial postback. It never works on the first click. So for example, I have a small shopping cart type system. With the items you can pick on the left hand side of the page, and your shopping cart on the right hand side. A user can click on the items on the left, and be added to the cart (Just a session variable). On a click, it will also force the update panel to update (Via code, updatepanel.update()). However this won't work, but if you click the item again, it then updates, BUT it shows the data it was supposed to show last postback...

Hard to explain. But imagine if your on the shopping cart page, and you click 3 different items. The update panel will only show that you clicked the first two. And then if you do a page refresh (Say F5), or navigate to a new page. They show. So from this it shows that the data is being sent, things are being saved to the session variable just fine. But for some reason the GUI isn't being updated.

I thought screw this, so went and worked on another page. Here i decided to use a Details View just to display some customer details. The customer should be able to edit their details straight from the web page, so the Details View has an edit button on it. Once again, If they click the edit button, nothing happens, click it again, and the GUI will update. And same for changing it back to read only mode.

Now do note, This is NOT about it not registering the first click on the page, Because it is. What is happening, is that it is only updating the GUI on successive trys, and updating it with data it was supposed to do the try before hand.

I did a bit of digging on this, Mostly on what the Update Panel should be doing. And someone said in one of their cases, It was down to poorly written HTML around the update panel. Find this hard to believe, but i stripped out the masterpage of pretty much everything it had, and still nothing. I removed all the DOCTYPE and stuff like that aswell to no avail.

EDIT: And just further into my findings. It is definitely something to do with the code around it.. I'm just not sure what.. As i have a lock stock login control on the page. And if i do an incorrect login, It doesn't show me the "failed" message. Until the second failure!