Hi!
I have a strange problem with the webasyncrefreshpanel and the datetimeedit. I'm using 2009 vol 2 of the asp.net controls. See my code below:
<asp:FormView ID="blaat" DefaultMode="Insert" runat="server"> <InsertItemTemplate> <igmisc:WebAsyncRefreshPanel ID="_warpTimes" runat="server" Height="100%" Width="100%"> <table style="width: 100%;"> <tr> <td style="vertical-align: middle;"> Vertrek: </td> <td> <div style="width: 75px;"> <igtxt:WebDateTimeEdit ID="DepartureTime" runat="server" EditModeFormat="t" HideEnterKey="True" MinimumNumberOfValidFields="1" Width="50px" Style="margin: 0; vertical-align: bottom;" DataMode="DateOrNull" DisplayModeFormat="t" NullText="--:--" Value='<%# Bind("DepartureTime") %>'> </igtxt:WebDateTimeEdit> <asp:ImageButton ImageUrl="~/Images/clock.png" TabIndex="-1" ToolTip="Huidige tijd gebruiken" runat="server" ID="ImageButton3" OnClick="DepartureTimeButton_Click" Style="vertical-align: bottom;" /> </div> </td> </tr> </table> </igmisc:WebAsyncRefreshPanel> </InsertItemTemplate></asp:FormView>
After the WebDateTimeEdit there is an imagebutton with an onclick handler, which sets the current time to the webdatetimeedit. After I have done this I select the webdatetimeedit and hit the backspace key. Then a browser back wil happen. This is pretty annoying.
The strange thing with this is that it's only happening in a code file that isn't on the root of the application.
I've tried to upgrade to the newest version, but then I have to use an updatepanel, right? Problem with that is that the values won't be in the values collection of the inserting event and that i can't have 2 updatepanels (insert and edit template) with controls with the same id. So then I should rewrite my control completely.
Is there someone with any idea how to fix this?
Hi datamex,
This is an initial update to let you know that I will be looking into this for you. I will follow-up with you regarding this matter on or before Tuesday.
Hi Troy,
Thanks! I hope you can find a solution :)
Hi Michael,
Sorry for my late reaction, we still need help with this issue. I've attached the sample. To see the behavior you should do the following steps.
1. start it with the default.aspx. and click on the go to sample button
2. in de sample page click the clock icon, which fills in 0:00 in the datetimeeditor.
3. click the datetimeeditor and hit the backspace key.
Now you will see that a browser back action is happening and you see the default page again.
You can disable smart callbacks for the WebAsyncRefreshPanel by setting its BrowserTarget property to "DownLevel".
Please see the following link for more info on this:
http://help.infragistics.com/Help/NetAdvantage/ASPNET/2011.1/CLR4.0/html/WebAsyncRefreshPanel_Turn_Off_Smart_Callbacks_in_WebAsyncRefreshPanel.html
If you have any further questions or issues, please let me know.
I've changed the browsertarget to downlevel, then the problem is gone but a full page postback occurs. That's not what we want to. This problem occurs in IE9. Is there an option to keep the partial page postback?
I recommend replacing your WebAsyncRefreshPanel with an AJAX UpdatePanel. It will resolve your issue with the browser back occurring and functions nicely with partial postbacks. With the UpdatePanel being developed after, and being more robust than the WARP, our products from NetAdvantage 2011 Vol. 2 and on will not be including WARPs.
The following code snippet demonstrates how to use an UpdatePanel in your sample.
Please see this page for the full list of our controls that we are migrating.
http://help.infragistics.com/Help/NetAdvantage/ASPNET/2011.2/CLR4.0/html/Classic_Control_Migration_Guide.html
I'm just checking in to see if you still needed help with this issue.
If you have any questions or concerns, please let me know and I'll be glad to help.