We have a Q1 2009 RadToolbar, with a Radcombobox load-on-demand
autosuggest search input in one template button. In the next, we have a
RadToolBarbutton acting as the Submit search button. This setup has
worked fine for a long time, however recently switching our Dotnetnuke
page state persistence to 'Memory' from 'Page' results in the unusual
behaviour that clicking the search submit button, does not seem to fire
the server-side button click event, it just does a postback and nothing
happens.
Strangely,the exact same code works on a child dotnetnuke portal, just not on the parent portal. We would really like to use Memory state persistence as it delivers much better clientside performance, and so far this button not posting back seems to be the only hang-up.
Can someone please say why this button event would no longer fire, based on in-page viewstate vs memory/session viewstate? It is Dotnetnuke 4.9.1.
.ascx:
button fire event:
Strangely,the exact same code works on a child dotnetnuke portal, just not on the parent portal. We would really like to use Memory state persistence as it delivers much better clientside performance, and so far this button not posting back seems to be the only hang-up.
Can someone please say why this button event would no longer fire, based on in-page viewstate vs memory/session viewstate? It is Dotnetnuke 4.9.1.
.ascx:
<%@ Control language="vb" Inherits="MySite.Modules.Search.ViewSearch" CodeFile="ViewSearch.ascx.vb" AutoEventWireup="false" %><%@ Register TagPrefix="dnn" TagName="SCBreadcrumb" Src="~/DesktopModules/SCBreadcrumb/SCBreadcrumb.ascx" %><script type="text/javascript">function OnASClientItemsRequestFailedHandler(sender, eventArgs){eventArgs.set_cancel(true);}var myTimer=null;var isTimerRunning=false;function KeyPressHandler(comboBox,eventArgs){if(isTimerRunning){stopTimer();}myTimer=setTimeout('requestItems()',500);isTimerRunning=true;}function RequestingHandler(sender, eventArgs){if (sender.get_text().length < 3){eventArgs.set_cancel(true);}}function stopTimer(){if(isTimerRunning){clearTimeout(myTimer);timerRunning=false;}};function RadComboKeyPress(sender, eventArgs) {var keyCode = eventArgs.get_domEvent().keyCode;if (keyCode == 13) {var toolbar1 = $find("<%= RadToolBarSearch.ClientID %>");var templateButton = toolbar1.findItemByValue("MainSearch");templateButton.click();}}</script><table width="100%"><tr><td align="left"><telerik:RadToolBar runat="server" ID="RadToolBarSearch" Skin="Telerik" EnableEmbeddedSkins="False" EnableEmbeddedBaseStylesheet="False" OnButtonClick="RadToolBarSearch_ButtonClick" EnableLoadOnDemand="False" EnableViewstate="False" style="width:100%;display: block; float: none;min-width:500px;"><Items><telerik:RadToolBarButton id="SearchTemplate" Value="TemplateTextBox" Text="BasicSearch"><ItemTemplate><telerik:RadComboBox Skin="Hay" id="RadComboBoxAS" Runat="server" Width="215px" EnableItemCaching="True" AllowCustomText="true" MarkFirstMatch="false" EnableLoadOnDemand="true" EmptyMessage="Enter keyword(s)" OnClientKeyPressing="RadComboKeyPress" OnClientItemsRequestFailed="OnASClientItemsRequestFailedHandler" OnItemsRequested="RadComboBoxAS_ItemsRequested" HighlightTemplatedItems="true" DataTextField="strKeyword" EnableViewstate="False" LoadingMessage = "<img src=/images/loading1.gif height=7px width=51px>" AnimationType="None" ShowToggleImage="False" EnableTextSelection="True"></telerik:RadComboBox></ItemTemplate></telerik:RadToolBarButton><telerik:RadToolBarButton id="SearchSubmitTemplate" text="SEARCH" Group="Search" AllowSelfUncheck="true" value="MainSearch" ImageURL="http://css.zymmetrical.com/search-stock-photos.png" ImagePosition = "1" checked="True" cssclass="CustomItem"></telerik:RadToolBarButton><telerik:RadToolBarButton IsSeparator="true"></telerik:RadToolBarButton><telerik:RadToolBarButton id="BCTemplate"><itemtemplate> <dnn:SCBreadcrumb runat="server" CSSClass="copyright" id="dnnBreadcrumb" Separator=" » " RootLevel="0" LastAsSpan="False" /></itemtemplate></telerik:radtoolbarbutton></items></telerik:RadToolBar> |
button fire event:
Public Sub RadToolBarSearch_ButtonClick(ByVal sender As Object, ByVal e As RadToolBarEventArgs) |
If e.Item.Value = "MainSearch" THEN |
Dim keywords As String |
If len(keywords)< 1 THEN |
Response.Write("<script>alert('Please type some keywords in the box and then click Search button');</script>") |
Else |
Response.Redirect (lcase("/search-results/keyword/" + keywords + "/")) |
End if |
End Sub |