Hello,
We have this issue in our developpement on WebForms ASP.NET 4.5.2 (VS2015 Update 3) with last version 2019.2 with this configuration :
In master.page :
<script>
function RadPan_ItemClicking(sender, eventArgs)
{
var oItem = eventArgs.get_item();
if (oItem.get_expanded()) {
oItem.collapse();
}
else
oItem.expand();
var sUrl = "";
var aAttributes = oItem._attributes;
if (aAttributes.get_count())
sUrl = aAttributes.getAttribute("URL");
if (IsDefined(sUrl))
{
if (sUrl!="")
{
var oPanelBar = oItem.get_panelBar();
oPanelBar._postback();
eventArgs.set_cancel(false);
return;
}
}
eventArgs.set_cancel(true);
}
</script>
<telerik:RadPanelBar runat="server" ID="RadPan" ExpandMode="SingleExpandedItem" PersistStateInCookie="True"
onclientitemclicking="RadPan_ItemClicking"
ViewStateMode="Enabled">
<CollapseAnimation Duration="100" Type="None" />
<ExpandAnimation Duration="100" Type="None" />
</telerik:RadPanelBar>
--------------------------
It's a manual binding with 3 level of RadPanelItem,
We don't use NavigateUrl property but we use OnItemClick event to check data in session before redirect
All RadPanelItems have URL Attribute that is read from OnItemClick event
The behind Code IS NOT in master page BUT in child Page named BasePage (it's inherit WebPage for all pages of project)
Sample of BasePage.aspx.cs
protected override void OnLoad(EventArgs e)
{
_masterPage = Master as MyMaster;
RadPanelBar oRadPan = _masterPage.FindControl("RadPan") as RadPanelBar;
..... (Manual Binding without datasource)
}
To solve this issue temporarely, we use this Javascript code below BUT it's not clean :
$(function () {
if (Telerik.Web.Browser.edge) {
with (window)
if (!location.href.contains("#") && !location.href.contains("?")) {
open(location.href + "?", "_blank");
close();
}
}
else {
if (sPathname.contains("index.aspx"))
with (window.location)
if (!href.contains("#")) {
replace(href + "#");
reload();
}
}
});