I try to make a RadListBox inside the Custom Dialog. I would like to pass the value from RadListBox to parent page when I double clicking on it. I try using editor.pasteHtml funcion in double click event of RadListBox but it won't work.
Could you please tell me where I went wrong.
My source code like below.
WebForm.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="WebEditor.WebForm1" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
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
>
Telerik.Web.UI.Editor.CommandList["InsertLexicon"] = function (commandName, editor, args) {
var myCallbackFunction = function (sender, args) {
editor.pasteHtml(args.image);
}
editor.showExternalDialog(
"InsertLexicon.aspx",
{},
400,
560,
myCallbackFunction,
null,
"InsertLexicon",
true,
Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move,
false,
true);
};
function pasteLexicon(myData)
{
var editor = $find('<%= edComment.ClientID%>');
editor.pasteHtml(myData);
}
</
script
>
<
br
/>
<
br
/>
<
br
/>
<
br
/>
<
telerik:RadEditor
RenderMode
=
"Lightweight"
runat
=
"server"
ID
=
"edComment"
EditType
=
"Inline"
NewLineMode
=
"Br"
ToolsFile
=
"ToolsFile.xml"
>
</
telerik:RadEditor
>
</
div
>
</
form
>
</
body
>
</
html
>
InsertLexicon.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="InsertLexicon.aspx.vb" Inherits="WebEditor.InsertLexicon" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<
link
href
=
"StyleSheets/Editor.css"
rel
=
"stylesheet"
type
=
"text/css"
/>
<
title
>InsertLexicon</
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
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"
>
function getRadWindow() //mandatory for the RadWindow dialogs functionality
{
if (window.radWindow) {
return window.radWindow;
}
if (window.frameElement && window.frameElement.radWindow) {
return window.frameElement.radWindow;
}
return null;
}
function initDialog() //called when the dialog is initialized
{
var clientParameters = getRadWindow().ClientParameters;
}
if (window.attachEvent) {
window.attachEvent("onload", initDialog);
}
else if (window.addEventListener) {
window.addEventListener("load", initDialog, false);
}
function insertLexicon() //fires when the Insert Link button is clicked
{
var closeArgument = {};
var list = $find("<%= listComment.ClientID%>");
var item = list.get_selectedItem();
if (item == null || item == undefined) {
alert("請選擇詞庫");
return false;
}
else {
closeArgument.image = item.get_value();
getRadWindow().close(closeArgument);
}
}
function closeWindow() {
getRadWindow().close();
}
function OnClientItemDoubleClicked(sender, args)
{
var closeArgument = {};
var list = $find("<%= listComment.ClientID%>");
var item = list.get_selectedItem();
getRadWindow().get_browserWindow().pasteLexicon(item.get_value());
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<!--Tool-->
<
telerik:RadListBox
RenderMode
=
"Lightweight"
runat
=
"server"
ID
=
"listComment"
Height
=
"350px"
Width
=
"100%"
ButtonSettings-AreaWidth
=
"35px"
OnClientItemDoubleClicked
=
"OnClientItemDoubleClicked"
>
<
Items
>
<
telerik:RadListBoxItem
Text
=
"Value1"
Value
=
"value1"
></
telerik:RadListBoxItem
>
<
telerik:RadListBoxItem
Text
=
"Value2"
Value
=
"Value2"
></
telerik:RadListBoxItem
>
</
Items
>
</
telerik:RadListBox
>
<
br
/>
<
div
>
<
telerik:RadButton
RenderMode
=
"Lightweight"
AutoPostBack
=
"false"
ID
=
"RadButton6"
runat
=
"server"
OnClientClicked
=
"insertLexicon"
Text
=
"Save"
/>
<
telerik:RadButton
RenderMode
=
"Lightweight"
AutoPostBack
=
"false"
ID
=
"RadButton7"
runat
=
"server"
OnClientClicked
=
"closeWindow"
Text
=
"Close"
/>
</
div
>
</
form
>
</
body
>
</
html
>