Hi, I created a simple Dock to pass messages back but when the close icon in the dock is clicked IE8 triggers compatibility mode and reloads the page. After that I can refresh the page and everything works. It is only on the first page load the issue presents itself.
Here is my code, first the Master Page:
Master page code behind (simplified):
(bear with me :) Content Page:
...and finally, the content page code behind (again simplified):
Everything works fine, there are no errors (client or server) but when I click close, that is when the compatibility view triggers and the page reloads (displaying the messages again).
Can anyone tell me what the issue is? I'll admit my experience of using Dock is minimal, so hopefully it's something stupid simple :)
Thanks in advance,
Richard
Here is my code, first the Master Page:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.Master.cs" Inherits="Web.App_Templates.Site" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
><
Page
Title</title>
<
telerik:RadStyleSheetManager
id
=
"TelerikStyleSheetManager"
runat
=
"server"
/>
<
asp:ContentPlaceHolder
ID
=
"HeadContentPlaceHolder"
runat
=
"server"
>
</
asp:ContentPlaceHolder
>
</
head
>
<
body
>
<
form
id
=
"MainForm"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"TelerikScriptManager"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
asp:ContentPlaceHolder
ID
=
"ScriptContentPlaceHolder"
runat
=
"server"
>
</
asp:ContentPlaceHolder
>
<
telerik:RadAjaxManager
ID
=
"TelerikAjaxManager"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"TelerikDock"
></
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadSkinManager
ID
=
"TelerikSkinManager"
Runat
=
"server"
Skin
=
"Telerik"
>
</
telerik:RadSkinManager
>
<
telerik:RadWindowManager
ID
=
"TelerikWindowManager"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"TelerikWindow"
runat
=
"server"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
<
telerik:RadFormDecorator
ID
=
"TelerikFormDecorator"
Runat
=
"server"
Skin
=
"Telerik"
DecoratedControls
=
"All"
/>
<
asp:UpdatePanel
ID
=
"MainUpdatePanel"
runat
=
"server"
>
<
ContentTemplate
>
<
telerik:RadDockLayout
runat
=
"server"
ID
=
"TelerikDockLayout"
Visible
=
"false"
>
<
telerik:RadDockZone
ID
=
"TelerikDockZone"
runat
=
"server"
Orientation
=
"Horizontal"
MinHeight
=
"20px"
BorderWidth
=
"0"
>
<
telerik:RadDock
ID
=
"TelerikDock"
runat
=
"server"
Title
=
"Informational Message"
Width
=
"100%"
EnableAnimation
=
"true"
EnableRoundedCorners
=
"true"
Resizable
=
"true"
>
<
ContentTemplate
>
<
asp:Literal
ID
=
"Feedback"
runat
=
"server"
Text
=
" "
/>
</
ContentTemplate
>
</
telerik:RadDock
>
</
telerik:RadDockZone
>
</
telerik:RadDockLayout
>
<
asp:ContentPlaceHolder
ID
=
"MainContentPlaceHolder"
runat
=
"server"
>
</
asp:ContentPlaceHolder
>
</
ContentTemplate
>
</
asp:UpdatePanel
>
</
form
>
</
body
>
</
html
>
Master page code behind (simplified):
namespace
Web.App_Templates
{
using
System;
using
System.Web.UI;
public
partial
class
Site : MasterPage
{
public
void
ShowFeedback(
string
feedBackText,
bool
useAlert)
{
if
(feedBackText ==
string
.Empty)
{
this
.Feedback.Text = feedBackText;
this
.TelerikDock.Title = feedBackText;
this
.TelerikDockLayout.Visible =
false
;
}
else
{
if
(useAlert)
{
var radAlertScript =
string
.Format(
"function f(){{radalert('{0}', 330, 210);Sys.Application.remove_load(f);}};Sys.Application.add_load(f);"
,
feedBackText);
ScriptManager.RegisterStartupScript(
Page,
Page.GetType(),
"Feedback"
,
radAlertScript,
true
);
}
else
{
this
.Feedback.Text = feedBackText;
this
.TelerikDockLayout.Visible =
true
;
}
}
}
public
void
ShowFeedback(
string
feedbackTitle,
string
feedBackText,
bool
useAlert)
{
if
(feedBackText ==
string
.Empty)
{
this
.Feedback.Text = feedBackText;
this
.TelerikDock.Title = feedBackText;
this
.TelerikDockLayout.Visible =
false
;
}
else
{
if
(useAlert)
{
var radAlertScript =
string
.Format(
"function f(){{radalert('{0}', 330, 210, '{1}');Sys.Application.remove_load(f);}};Sys.Application.add_load(f);"
,
feedBackText,
feedbackTitle);
ScriptManager.RegisterStartupScript(
Page,
Page.GetType(),
"Feedback"
,
radAlertScript,
true
);
}
else
{
this
.Feedback.Text = feedBackText;
this
.TelerikDock.Title = feedbackTitle;
this
.TelerikDockLayout.Visible =
true
;
}
}
}
}
}
(bear with me :) Content Page:
<%@ Page Title="Home" Language="C#" MasterPageFile="~/App_Templates/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web.Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ MasterType VirtualPath="~/App_Templates/Site.Master" %>
<
asp:Content
ID
=
"HeadContent"
ContentPlaceHolderID
=
"HeadContentPlaceHolder"
runat
=
"server"
>
</
asp:Content
>
<
asp:Content
ID
=
"ScriptContent"
ContentPlaceHolderID
=
"ScriptContentPlaceHolder"
runat
=
"server"
>
</
asp:Content
>
<
asp:Content
ID
=
"MainContent"
ContentPlaceHolderID
=
"MainContentPlaceHolder"
runat
=
"server"
>
</
asp:Content
>
...and finally, the content page code behind (again simplified):
namespace
Web
{
using
System;
public
partial
class
Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
this
.Master.ShowFeedback(
"Test Title"
,
"Test normal feedback message."
,
false
);
// this.Master.ShowFeedback( "Test Title", "Test pop-up feedback message.",true);
}
}
}
Everything works fine, there are no errors (client or server) but when I click close, that is when the compatibility view triggers and the page reloads (displaying the messages again).
Can anyone tell me what the issue is? I'll admit my experience of using Dock is minimal, so hopefully it's something stupid simple :)
Thanks in advance,
Richard