Whenever I try to call a function ("ItemErrorAlert") that contains RadConfirm from the code behind I receive a javascript error: "radconfirm is not defined". Although RadConfirm works as expected if I call it through the RadWindowManager, but I would rather call it in a javascript function.
See a code snippet below:
ASPX
C#
See a code snippet below:
ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Tools.aspx.cs" Inherits="ARCHLT.Helios.Eos.Tools" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function ItemErrorAlert(message) {
radconfirm(message, confirmCallBackFn, 300, 100, null, "Title");
}
function confirmCallBackFn(arg) {
radalert("<
strong
>radconfirm</
strong
> returned the following result: <
h3
style
=
'color: #ff0000;'
>" + arg + "</
h3
>", null, null, "Result");
}
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"server"
>
<
h3
>TOOLS</
h3
><
br
/>
<!-- Rad Window Manager -->
<
telerik:RadWindowManager
ID
=
"RadWindowManager"
runat
=
"server"
EnableShadow
=
"true"
>
</
telerik:RadWindowManager
>
<!-- Rad Ajax Manager -->
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
style
=
"float:left;"
>
<
telerik:RadTextBox
ID
=
"txt_InputData"
runat
=
"server"
TextMode
=
"MultiLine"
EmptyMessage
=
"Enter TagID or Item GUID Here. (Comma, Line or Space Delimited)"
Width
=
"500px"
Height
=
"200px"
/>
<
br
/><
br
/>
<
telerik:RadButton
ID
=
"btn_ValidateInputData"
runat
=
"server"
Text
=
"Validate"
OnClick
=
"ValidateInputData"
/>
<
telerik:RadButton
ID
=
"btn_Execute"
runat
=
"server"
Text
=
"Execute"
Visible
=
"false"
OnClick
=
"ExecuteInputData"
/>
</
div
>
<
asp:Panel
ID
=
"panel_DataManipulation"
runat
=
"server"
Enabled
=
"false"
>
<
div
style
=
"float:left;"
>
<
span
>Set Status: </
span
><
telerik:RadComboBox
ID
=
"rcb_SetStatus"
runat
=
"server"
EmptyMessage
=
"Select Status"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
<
telerik:RadComboBoxItem
Text
=
"Checked In"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
Text
=
"Checked Out"
Value
=
"2"
/>
<
telerik:RadComboBoxItem
Text
=
"Consumed/Allocated"
Value
=
"3"
/>
<
telerik:RadComboBoxItem
Text
=
"Transferred"
Value
=
"4"
/>
</
Items
>
</
telerik:RadComboBox
>
<
span
>Set Location: </
span
><
telerik:RadComboBox
ID
=
"rcb_SetLocation"
runat
=
"server"
EmptyMessage
=
"Select Location"
/>
<
br
/><
br
/>
<
span
>Set Expiration: </
span
><
telerik:RadDatePicker
ID
=
"rdp_SetExpiration"
runat
=
"server"
/>
</
div
>
</
asp:Panel
>
</
asp:Content
>
C#
protected
void
ValidateInputData(
object
sender, EventArgs e)
{
bool
ResultItemID =
false
;
bool
ResultTagID =
false
;
// Parse the input data into a list
List<
string
> ParsedInputData = ParseInputData(txt_InputData.Text);
// Check if the input data is a TagID or Item.ID
if
(IsItemID(ParsedInputData))
{
// Check to see if there are any errors
if
(ErrorID.Count > 0)
{
string
sErrorMsg =
""
;
sErrorMsg +=
"A few of the IDs you inputed did not validate: "
;
foreach
(
string
s
in
ErrorID)
{
sErrorMsg +=
"'"
+ s +
"',"
;
}
// Remove trailing comma
sErrorMsg.Remove(sErrorMsg.Count() - 1);
sErrorMsg +=
"Would you like to try to validate again without these IDs?"
;
//RadWindowManager.RadConfirm(sErrorMsg, "confirmCallBackFn", 330, 100, null, "Input Data Validation");
ScriptManager.RegisterStartupScript(
this
,
this
.GetType(),
"itemerroralert"
,
"ItemErrorAlert(\""
+ sErrorMsg +
"\");"
,
true
);
}
else
{
ResultItemID =
true
;
inputDataType = IDType.ItemID;
RadWindowManager.RadAlert(
"The input data has been validated as an Item.ID. Please choose what you would like to do from the panel on the right"
, 300, 100,
"Validation Alert"
,
null
);
}
}
else
if
(IsTagID(ParsedInputData))
{
ResultTagID =
true
;
inputDataType = IDType.TagID;
ScriptManager.RegisterStartupScript(
this
,
this
.GetType(),
"radalert"
, RadPopup.GenerateConfirmScript(
"The input data has been validated as a TagID. Please choose what you would like to do from the panel on the right"
),
true
);
}
// Turn on
if
((ResultItemID) || (ResultTagID))
{
panel_DataManipulation.Enabled =
true
;
btn_ValidateInputData.Visible =
false
;
btn_Execute.Visible =
true
;
}
}