<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %>
<
head
runat
=
"server"
>
<
title
></
title
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
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
>
<
script
type
=
"text/javascript"
>
// Default to False
isDirty = false;
ignoreChanges = false;
inputType = null;
inputId = null;
postBackOverride = false;
enableDebugging = false;
skipOne = false;
wasDirty = false;
function bindInputEvents() {
$(':input').keyup(function (event) {
oninputType = $(this).attr('type');
inputId = $(this).attr('id')
if (inputType != "hidden") {
debugAlert(inputType + " input changed. Id=" + inputId + " IsDirty=" + isDirty + " ignoreChanges=" + ignoreChanges);
makeDirty();
}
debugAlert(inputType + " Input Updated. Id=" + inputId);
});
}
// Bind change
$(document).ready(function () {
bindInputEvents()
// Show prompt when trying to nvaigate away if there are changes
window.onbeforeunload = function () {
if (!skipOne) {
if (isDirty) {
return 'You have unsaved changes. You will lose your changes if you leave the page.';
}
}
else {
isDirty = wasDirty;
skipOne = false;
}
};
});
function makeDirty() {
isDirty = true;
debugAlert("MakeDirty called. isDirty=" + isDirty);
}
function debugAlert(msg) {
if (enableDebugging == false) {
return true
} else {
alert(msg);
}
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
/>
<
telerik:RadSkinManager
ID
=
"RadSkinManager1"
runat
=
"server"
Skin
=
"Windows7"
/>
<
h3
>
First, enter some text below to cause the page to get "Dirty"</
h3
>
<
div
>
Enter Text to cause Dirty:
<
asp:TextBox
ID
=
"TextBox1"
runat
=
"server"
></
asp:TextBox
></
div
>
<
br
/>
<
h3
>
Now that the page is dirty, click on the button below to be prompted to "Save"</
h3
>
<
div
>
<
asp:Button
runat
=
"server"
Text
=
"Click Me when Dirty"
onclick
=
"Unnamed1_Click"
/>
</
div
>
<
br
/>
<
h3
>
Notice how you were prompted and when you click either "Cancel" or the "X", no error
is generated.</
h3
>
<
h3
>
Now, click anywhere in the tree. The tree has an OnClick event that will attempt
to navigate to Yahoo.com</
h3
>
<
div
>
<
telerik:RadTreeView
ID
=
"RadTreeView2"
runat
=
"server"
Width
=
"300px"
Height
=
"250px"
OnNodeClick
=
"RadTreeView2_NodeClick"
>
<
DataBindings
>
<
telerik:RadTreeNodeBinding
Expanded
=
"True"
/>
</
DataBindings
>
</
telerik:RadTreeView
>
</
div
>
<
h3
>Notice how you were prompted and when you click either "Cancel" or the "X", an error
is generated.</
h3
>
</
form
>
</
body
>
</
html
>