or
<
location
path
=
"Telerik.Web.UI.WebResource.axd"
>
<
system.web
>
<
authorization
>
<
allow
users
=
"*"
/>
</
authorization
>
</
system.web
>
</
location
>
<
hbc:HebrewCalendar
runat
=
"server"
ID
=
"schScheduler"
TimeZoneOffset
=
"03:00:00"
SelectedView
=
"MonthView"
DayStartTime
=
"08:00:00"
DayEndTime
=
"22:00:00"
EnableDescriptionField
=
"true"
Culture
=
"Hebrew (Israel)"
OverflowBehavior
=
"Expand"
FirstDayOfWeek
=
"Sunday"
OnClientNavigationComplete
=
"OnClientNavigationComplete"
OnClientAppointmentWebServiceInserting
=
"OnClientAppointmentWebServiceInserting"
OnClientAppointmentsPopulating
=
"OnClientAppointmentsPopulating"
OnClientResourcesPopulating
=
"OnClientResourcesPopulating"
>
<
WebServiceSettings
Path
=
"~/AppointmentsWebService.asmx"
/>
</
hbc:HebrewCalendar
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
var
adding_appt =
false
;
var
scheduler;
$(
'#<%=schScheduler.ClientID %>'
).ready(
function
() {
loadAppointments($find(
'<%=schScheduler.ClientID %>'
));
});
function
loadAppointments(sceduler) {
var
startDate = sceduler.get_firstDayStart();
var
endDate = sceduler.get_activeModel().get_visibleRangeEnd();
$.getJSON(
'<%= GetApptUrl %>'
,
function
(appointments) {
for
(
var
i = 0; i < appointments.length; i++) {
var
apt = appointments[i];
var
newAppointment =
new
Telerik.Web.UI.SchedulerAppointment();
var
start = $.datepicker.parseDate(
"dd/mm/yy"
, apt.StartDate);
start.setHours(apt.StartHour.split(
':'
)[0]);
var
end = $.datepicker.parseDate(
"dd/mm/yy"
, apt.EndDate);
end.setHours(apt.EndHour.split(
':'
)[0]);
newAppointment.set_start(start);
newAppointment.set_end(end);
newAppointment.set_subject(apt.Subject);
adding_appt =
true
;
sceduler.insertAppointment(newAppointment);
adding_appt =
false
;
}
});
}
function
OnClientNavigationComplete(sender, eventArgs) {
loadAppointments(sender);
}
function
OnClientAppointmentsPopulating(sender, eventArgs) {
if
(adding_appt)
eventArgs.set_cancel(
true
);
}
function
OnClientAppointmentWebServiceInserting(sender, eventArgs) {
if
(adding_appt)
eventArgs.set_cancel(
true
);
}
function
OnClientResourcesPopulating(sender, eventArgs) {
if
(adding_appt)
eventArgs.set_cancel(
true
);
}
</
script
>
public
class
HebrewCalendar : RadScheduler
{
protected
override
void
CreateChildControls()
{
base
.CreateChildControls();
var allControls = AllControls().ToList();
var allHtmlGenericControls = allControls.OfType<HtmlGenericControl>();
var minDate = DateTime.MaxValue;
var maxDate = DateTime.MinValue;
MakeViewJewish(allHtmlGenericControls,
ref
minDate,
ref
maxDate);
// Update top only if dates exists or in case this is a single day view
if
((minDate != DateTime.MaxValue && maxDate != DateTime.MinValue) || SelectedView == SchedulerViewType.DayView)
{
var header = allControls.OfType<LiteralControl>().Where(lt => lt.ID ==
"DateLabel"
).FirstOrDefault();
if
(header !=
null
)
{
switch
(SelectedView)
{
case
SchedulerViewType.MonthView:
header.Text =
string
.Format(
"<div class='header-date-text'>{0} ({1})</div>"
, header.Text, GetHebrewMonths(minDate, maxDate));
break
;
}
}
}
// Swap prev/next buttons on the upper-left corner of the calendar
var prev = allControls.OfType<HtmlGenericControl>().Where(c => c.Attributes[
"class"
] ==
"rsPrevDay"
).FirstOrDefault();
var next = allControls.OfType<HtmlGenericControl>().Where(c => c.Attributes[
"class"
] ==
"rsNextDay"
).FirstOrDefault();
if
(prev !=
null
&& next !=
null
)
{
prev.Attributes[
"class"
] =
"rsNextDay"
;
next.Attributes[
"class"
] =
"rsPrevDay"
;
var prevHtml = prev.InnerHtml;
prev.InnerHtml = next.InnerHtml;
next.InnerHtml = prevHtml;
}
}
private
void
MakeViewJewish(IEnumerable<HtmlGenericControl> allHtmlGenericControls,
ref
DateTime minDate,
ref
DateTime maxDate)
{
foreach
(var control
in
allDateControls)
{
try
{
string
hebDay, hebMonth;
DateTime controlDate = DateTime.MinValue;
switch
(SelectedView)
{
case
SchedulerViewType.MonthView:
// Check if this cell wasn't handled already
if
(control.Attributes[
"title"
].EndsWith(
")"
))
continue
;
// Add hebrew day string
controlDate = DateTime.Parse(control.Attributes[
"title"
], Culture);
hebDay = GetHebrewDay(controlDate);
hebMonth = GetHebrewMonth(controlDate);
control.Attributes[
"title"
] +=
string
.Format(
" ({0} ב{1})"
, hebDay, hebMonth);
control.InnerHtml =
string
.Format(
"<div class='eng-date'>{0}</div><div class='heb-date'>{1}</div>"
,
control.InnerHtml,
hebDay !=
"א'"
? hebDay :
string
.Format(
"{0} {1}"
, hebDay, hebMonth));
break
;
}
catch
(Exception ex)
{
throw
ex;
}
}
}
#region Georgian to hebrew date converting
// Code irelevant to the problem...
#endregion
}
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="TestForm1.aspx.vb" Inherits="MMPA.Expenses.TestForm1" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"server"
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"server"
>
<
telerik:RadNumericTextBox
ID
=
"npermilesTextBox"
runat
=
"server"
Value
=
'0'
Width
=
"90px"
MaxValue
=
"999"
MinValue
=
"0"
Type
=
"Number"
NumberFormat-DecimalDigits
=
"0"
AllowOutOfRangeAutoCorrect
=
"false"
EnabledStyle-HorizontalAlign
=
"Right"
DataType
=
"System.Int32"
Enabled
=
"false"
>
</
telerik:RadNumericTextBox
>
</
asp:Content
>
Imports Telerik.Web.UI
Public Class TestForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
npermilesTextBox.Text = "0"
End Sub
End Class
The example given in the RadControls documentation (getting started) is working fine in regular aspx pages, but I can’t get it to work from the Master/Content page. It could make it work in the Content Page after setting the property of “VisibleOnPageLoad” to TRUE, however it will display RadWindow automatically, when the page is loaded.
My problem is that I don’t want to display the RadWindow initially when the page is loaded. I need to display RadWindow only after a control (ex.Button) is clicked.
TheRadScriptManager is on MasterPage, the RadWindowManager is on Content Page.
How can I open RadWindow using a control (ex. Button) from a content page?
Thank You,
Thomas
This is my code from content page:
<%@ Page Title="" Language="C#" MasterPageFile="~/DefaultMaster.Master" AutoEventWireup="true" CodeBehind="Default1.aspx.cs" Inherits="TestRadWindow.Default" %> |
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> |
</asp:Content> |
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> |
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" |
ReloadOnShow="True"> |
<Windows> |
<telerik:RadWindow ID="rdWnd" runat="server" Behavior="Default" |
InitialBehavior="None" Left="" NavigateUrl="Sample1.aspx" |
OpenerElementID="LinkButton1" Top="" ReloadOnShow="True" Visible="True" |
EnableViewState="True" > |
</telerik:RadWindow> |
</Windows> |
</telerik:RadWindowManager> |
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> |
</asp:Content> |