This is a migrated thread and some comments may be shown as answers.

Scheduler Advanced Form Javascript Error

10 Answers 136 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Asa'ad
Top achievements
Rank 1
Asa'ad asked on 11 Dec 2011, 12:14 PM
Hi All,,,,
i am using the Rad Scheduler control on AdvancedForm Templates and user controls as from the demo....

i am using it inside RadPanel like the First Look demo in th follwoing link http://demos.telerik.com/aspnet-ajax/scheduler/examples/outlook2007/defaultcs.aspx

but i changed it to use the user controls instead of the built in advanced form to customize it as i need....

the advanced form in the edit mode is called properly,,, but when i try to call it in the insert mode either by double click the scheduler or from the options button from the inline form; i got the following error:-

Error: Sys.WebForms.PageRequestManagerServerErrorException: Object reference not set to an instance of an object.

i don't not know what is causing this error and i docnt want to disable the ajax since i don't want the page to post back!!!!

any help please....

thanks....

Asa'ad

10 Answers, 1 is accepted

Sort by
0
Asa'ad
Top achievements
Rank 1
answered on 12 Dec 2011, 01:27 PM
please help...
0
Peter
Telerik team
answered on 13 Dec 2011, 01:38 PM
Hi Asa'ad,

With Web Service binding, RadScheduler will not make any postbacks, so you don't need RadAjaxManager. For more information, please see this blog post -
http://blogs.telerik.com/aspnet-ajax/posts/11-11-29/new-and-updated-demos-for-radscheduler-asp-net-ajax-part-i.aspx

You can download a stand-alone sample with Web Service and customized advanced form from here. Let me know if you experience any problems with this sample.


All the best,
Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Asa'ad
Top achievements
Rank 1
answered on 14 Dec 2011, 01:23 PM
Hi Peter,,,

Thank u for your response...but i forgot to mention that i am not using the Web Service Binding as the First Look demo....
i am using binding using the DataSource property..i bind to a sql server database table....

i am using the customized advanced form user controls and i am using the the interface of the scheduler as the First Look demo...

still implementing my scenario...

i fixed the problem of the ajax...the cause was of some error of calling of a method i out while calling the advanced form....


i am using the AppointmentCommand event to insert new appointment info to my table....

   protected void Page_Load(object sender, EventArgs e)
        {
  
                            if (!Page.IsPostBack)
                {
                   SchedulerInfo.SelectedDate = DateTime.Now;
                   fillScheduler();
                }
                  }
  
    protected void MySchedulerInfo_AppointmentCommand(object sender, AppointmentCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Insert")
                {
  
                    doInsert(e);
                }
                else if (e.CommandName == "Update")
                {
  
                  doUpdate();
                }
                else if (e.CommandName == "Delete") {
doDelete();
 }
            }
            catch (Exception ex)
            {
              //handle exception
            }
            
        }
  
        protected void doInsert(AppointmentCommandEventArgs e)
        {
  
            RadTextBox txtSubject = e.Container.Controls[1].FindControl("SubjectText") as RadTextBox;
            RadTextBox txtLocation = e.Container.Controls[1].FindControl("txtLocation") as RadTextBox;
            RadTextBox txtDescription = e.Container.Controls[1].FindControl("DescriptionText") as RadTextBox;
            RadTextBox txtResult = e.Container.Controls[1].FindControl("txtResult") as RadTextBox;
  
            CheckBox chkAllDay = e.Container.Controls[1].FindControl("AllDayEvent") as CheckBox;
            RadDatePicker pStartDate = e.Container.Controls[1].FindControl("StartDate") as RadDatePicker;
            RadTimePicker pStartTime = e.Container.Controls[1].FindControl("StartTime") as RadTimePicker;
  
            RadDatePicker pEndDate = e.Container.Controls[1].FindControl("EndDate") as RadDatePicker;
            RadTimePicker pEndTime = e.Container.Controls[1].FindControl("EndTime") as RadTimePicker;
  
            RadComboBox lstReminder = e.Container.Controls[1].FindControl("ReminderDropDown") as RadComboBox;
  
            RadSchedulerAdvancedFormResourceControl resContact = e.Container.Controls[1].FindControl("ResContact") as RadSchedulerAdvancedFormResourceControl;
            RadComboBox lstContact = resContact.FindControl("ResourceValue") as RadComboBox;
  
            RadSchedulerAdvancedFormResourceControl resCategory = e.Container.Controls[1].FindControl("ResAppointmentCategory") as RadSchedulerAdvancedFormResourceControl;
            RadComboBox lstCategory = resCategory.FindControl("ResourceValue") as RadComboBox;
  
            RadSchedulerAdvancedFormResourceControl resType = e.Container.Controls[1].FindControl("ResAppointmentType") as RadSchedulerAdvancedFormResourceControl;
            RadComboBox lstType = resType.FindControl("ResourceValue") as RadComboBox;
  
            Appointments_BLL blApp = new Appointments_BLL();
            Appointments_BO boApp = new Appointments_BO();
  
            boApp.Subject = txtSubject.Text;
            boApp.Location = txtLocation.Text;
            boApp.Description = txtDescription.Text;
            boApp.Result = txtResult.Text;
            boApp.Contact_ID = Convert.ToInt32(DeserializeResourceKey(lstContact.SelectedValue));
            boApp.Appointment_Category_Code = DeserializeResourceKey(lstCategory.SelectedValue).ToString();
            if (lstType.SelectedValue != "")
                boApp.Appointment_Type_Code = Convert.ToInt32(DeserializeResourceKey(lstType.SelectedValue));
            else
                boApp.Appointment_Type_Code = -1;
              
            DateTime sDate, eDate;
            if (!chkAllDay.Checked)
            {
                sDate = pStartDate.SelectedDate.Value.Date.Add(pStartTime.SelectedDate.Value.TimeOfDay);
                eDate = pEndDate.SelectedDate.Value.Date.Add(pEndTime.SelectedDate.Value.TimeOfDay);
            }
            else 
            {
                sDate = pStartDate.SelectedDate.Value.Date.ToUniversalTime();
                eDate = pEndDate.SelectedDate.Value.Date.AddDays(1).ToUniversalTime();
            }
            boApp.Start_Date_Time = sDate;           
            boApp.End_Date_Time = eDate;
            boApp.Reminder_Category_Code = lstReminder.SelectedValue;
            boApp.Creator_ID = Convert.ToInt32(Session["UserID"]);
            boApp.Responsible_ID = boApp.Creator_ID;
            boApp.Last_Update_User_ID = boApp.Creator_ID;
            boApp.Creation_Date_Time = DateTime.Now;
            boApp.Last_Update_Date = boApp.Creation_Date_Time;
            int iNewAppointmentId = blApp.insertNewAppointment(ref boApp);
            MySchedulerInfo.Rebind();
  
  
        }
  
        private object DeserializeResourceKey(string key)
        {
            LosFormatter input = new LosFormatter();
            return input.Deserialize(key);
        }
  
  
 protected void fillScheduler() 
        {
            DataTable dt = new DataTable();
            try
            {
  
                //configure and bind resources 
                bindResources();
                 
                    
  
                Appointments_BO boApp = new Appointments_BO();
                Appointments_BLL bllApp = new Appointments_BLL();
                boApp.Responsible_ID = Convert.ToInt32(Session["UserID"]);
             
                dt = bllApp.getAllAppointments(ref boApp);
                if (dt != null && boApp.Message != "")
                {
                    SchedulerInfo.DataSource = dt;
                                 }
            }
            catch (Exception ex) {
           //handle exception
            }
        }


the appointment is inserted succesfully into the database....
and also is shown in the timeslot correctly after the Insert form is closed....

but if i click this new appointment on the scheduler; the edit form is not displayed...
but when i called the page again  and so the scheduler reloaded again and when i click this appointment, the edit form is displayed....

what shall i do after inserting the appointment into the database??? i used the Rebind method as you see in my code...

but nothing happens!!!

any help will be great...
thanks
Asa'ad...
 
0
Peter
Telerik team
answered on 16 Dec 2011, 02:50 PM
Hi Asa'ad,

I am not sure what the rest of your implementation details are, but can you try using the RadScheduler1.InsertAppointment() method and let me know if this helps?

Also, I wonder if you need to customize the advanced form, is there an obstacle for using the approach from the Customizing the Advanced Form demo?


Greetings, Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Asa'ad
Top achievements
Rank 1
answered on 19 Dec 2011, 08:50 AM
Hi Peter again,,,

 i tried the InsertAppointment, the appointment is inserted into the scheduler but i can not call the Edit Form until i call the whole page again....since the AppointmentDataBound is not called until i call the whole page again...

I solved the issue by setting all properties values, attributes and resources after i save into my database table....

protected void doInsert(AppointmentCommandEventArgs e)
     {
         RadTextBox txtSubject = e.Container.Controls[1].FindControl("SubjectText") as RadTextBox;
         RadTextBox txtLocation = e.Container.Controls[1].FindControl("txtLocation") as RadTextBox;
         RadTextBox txtDescription = e.Container.Controls[1].FindControl("DescriptionText") as RadTextBox;
         RadTextBox txtResult = e.Container.Controls[1].FindControl("txtResult") as RadTextBox;
         CheckBox chkAllDay = e.Container.Controls[1].FindControl("AllDayEvent") as CheckBox;
         RadDatePicker pStartDate = e.Container.Controls[1].FindControl("StartDate") as RadDatePicker;
         RadTimePicker pStartTime = e.Container.Controls[1].FindControl("StartTime") as RadTimePicker;
         RadDatePicker pEndDate = e.Container.Controls[1].FindControl("EndDate") as RadDatePicker;
         RadTimePicker pEndTime = e.Container.Controls[1].FindControl("EndTime") as RadTimePicker;
         RadComboBox lstReminder = e.Container.Controls[1].FindControl("ReminderDropDown") as RadComboBox;
         RadSchedulerAdvancedFormResourceControl resContact = e.Container.Controls[1].FindControl("ResContact") as RadSchedulerAdvancedFormResourceControl;
         RadComboBox lstContact = resContact.FindControl("ResourceValue") as RadComboBox;
         RadSchedulerAdvancedFormResourceControl resCategory = e.Container.Controls[1].FindControl("ResAppointmentCategory") as RadSchedulerAdvancedFormResourceControl;
         RadComboBox lstCategory = resCategory.FindControl("ResourceValue") as RadComboBox;
         RadSchedulerAdvancedFormResourceControl resType = e.Container.Controls[1].FindControl("ResAppointmentType") as RadSchedulerAdvancedFormResourceControl;
         RadComboBox lstType = resType.FindControl("ResourceValue") as RadComboBox;
         Appointments_BLL blApp = new Appointments_BLL();
         Appointments_BO boApp = new Appointments_BO();
         boApp.Subject = txtSubject.Text;
         boApp.Location = txtLocation.Text;
         boApp.Description = txtDescription.Text;
         boApp.Result = txtResult.Text;
         boApp.Contact_ID = Convert.ToInt32(DeserializeResourceKey(lstContact.SelectedValue));
         boApp.Appointment_Category_Code = DeserializeResourceKey(lstCategory.SelectedValue).ToString();
         if (lstType.SelectedValue != "")
             boApp.Appointment_Type_Code = Convert.ToInt32(DeserializeResourceKey(lstType.SelectedValue));
         else
             boApp.Appointment_Type_Code = -1;
           
         DateTime sDate, eDate;
         if (!chkAllDay.Checked)
         {
             sDate = pStartDate.SelectedDate.Value.Date.Add(pStartTime.SelectedDate.Value.TimeOfDay).ToUniversalTime();
             eDate = pEndDate.SelectedDate.Value.Date.Add(pEndTime.SelectedDate.Value.TimeOfDay).ToUniversalTime(); 
         }
         else 
         {
             sDate = pStartDate.SelectedDate.Value.Date.ToUniversalTime();
             eDate = pEndDate.SelectedDate.Value.Date.AddDays(1).ToUniversalTime();
         }
         boApp.Start_Date_Time = sDate;           
         boApp.End_Date_Time = eDate;
         boApp.Reminder_Category_Code = lstReminder.SelectedValue;
         boApp.Creator_ID = Convert.ToInt32(Session["UserID"]);
         boApp.Responsible_ID = boApp.Creator_ID;
         boApp.Last_Update_User_ID = boApp.Creator_ID;
         boApp.Creation_Date_Time = DateTime.Now;
         boApp.Last_Update_Date = boApp.Creation_Date_Time;
         int iNewAppointmentId = blApp.insertNewAppointment(ref boApp);
         if (iNewAppointmentId > 0)
         {
             Appointment newApp = e.Container.Appointment;
             newApp.ID = iNewAppointmentId;
             Resource rContact = (Resource)SchedulerInfo.Resources.GetResource("Contact", boApp.Contact_ID);
             newApp.Resources.Add(rContact);
             Resource rUser = (Resource)SchedulerInfo.Resources.GetResource("User", boApp.Creator_ID);
             newApp.Resources.Add(rUser);
             Resource rCategory = (Resource)SchedulerInfo.Resources.GetResource("AppointmentCategory", boApp.Appointment_Category_Code);
             newApp.Resources.Add(rCategory);
             if (boApp.Appointment_Type_Code != -1)
             {
                 Resource rType = (Resource)SchedulerInfo.Resources.GetResource("AppointmentType", boApp.Appointment_Type_Code);
                 newApp.Resources.Add(rType);
             }
             newApp.Attributes["Location"] = boApp.Location;
             newApp.Attributes["Result"] = boApp.Result;
             if(lstReminder.SelectedValue != "")
                newApp.Reminders.Add(new Reminder(int.Parse(lstReminder.SelectedValue)));
             SchedulerInfo.Rebind();
         }
         else { 
         //sho msg to user of failer insert of appointment
           
         }
     }


and now the edit form is called successfully....

but also i have diffculties  when i change any attribute of the appointment,,,,,
for example, i put a checkbox in the Appointment template to change the an attribute called Completed and i set an event to do handle changing this attribute like the following

protected void CompletedStatusCheckBox_CheckedChanged(object sender, EventArgs e)
     {
         try
         {
             CheckBox CompletedStatusCheckBox = (CheckBox)sender;
             //Find the appointment object to directly interact with it
             SchedulerAppointmentContainer appContainer = (SchedulerAppointmentContainer)CompletedStatusCheckBox.Parent;
             Appointment appointment = appContainer.Appointment;
             Appointment appointmentToUpdate = SchedulerInfo.PrepareToEdit(appointment, SchedulerInfo.EditingRecurringSeries);
             appointmentToUpdate.Attributes["Completed"] = CompletedStatusCheckBox.Checked.ToString();
             SchedulerInfo.UpdateAppointment(appointmentToUpdate);
             
             //update this flag in the database too....
             Appointments_BLL blApp = new Appointments_BLL();
             Appointments_BO boApp = new Appointments_BO();
             boApp.Appointment_ID = Convert.ToInt32(appointmentToUpdate.ID);
             boApp.Completed = appointmentToUpdate.Attributes["Completed"];
             int iResult = blApp.updateAppointmentCompletedFlag(ref boApp);
             SchedulerInfo.Rebind();
             if (iResult == 0) { 
                 //failer to update this flag
                 //show msg to user
               
             }
             else if (iResult ==-1)
             {
                 //Exception occurrs
                 //show msg to user
             }
         }
         catch (Exception ex)
         {
             clsMessages.callMessage(Request, RadAjaxManager1, "ExceptionMessage", "", Server.UrlEncode(ex.Message.ToString()));
         }

the attribute is changed successfully....

but i also set in the AppointmentDataBound code to change the color of the attribute if it is completed or not....
like the following....


protected void SchedulerInfo_AppointmentDataBound(object sender, Telerik.Web.UI.SchedulerEventArgs e)
     {
        
         
         if (e.Appointment.Attributes["Completed"] == "True")
             e.Appointment.BackColor = System.Drawing.Color.Green;
     }

but this AppointmentDataBound is not called when i check the checkbox....

so i have to call the whole page again and this appointment backcolor becomes green in this case since the AppointmentDatabound event is called this time.....


how can i solve this issue???

why the AppointmentDataBound is bit called unless the Page is not PostBack?

and regarding your question of using the demo of the cutomization of the Advanced form...yes i have problems...since my datasource is not a control....i have Data Access Layer class that handle all queries of the database table and return the retsult in a datatable....

but i found a way how to do this by using the sheduler datasource property....


please help.....
Asa'ad....



 

0
Peter
Telerik team
answered on 19 Dec 2011, 11:53 AM
Hi Asa'ad,

When you call:

SchedulerInfo.UpdateAppointment(appointmentToUpdate);
SchedulerInfo.Rebind();

AppointmentDataBound should occur as shown in the demo. I am not sure why this is not so with your case. If you can send a simple working demo via a support ticket, I will debug it and try to find the cause of the problem. 

If you need to update the data source for RadScheduler, I suggest you do this by handling AppointmentInsert/Update/Delete similarly to the way this is done in the Binding to Generic List demo.


Regards, Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Asa'ad
Top achievements
Rank 1
answered on 19 Dec 2011, 12:21 PM
also it seems that when i update any appointment using the AppointmentCommand, it is updated in the database but this update doesn't appear on the scheduler until i call the whole page again!!!!



protected void doUpdate(AppointmentCommandEventArgs e)
      {
          RadTextBox txtSubject = e.Container.Controls[1].FindControl("SubjectText") as RadTextBox;
          RadTextBox txtLocation = e.Container.Controls[1].FindControl("txtLocation") as RadTextBox;
          RadTextBox txtDescription = e.Container.Controls[1].FindControl("DescriptionText") as RadTextBox;
          RadTextBox txtResult = e.Container.Controls[1].FindControl("txtResult") as RadTextBox;
          CheckBox chkAllDay = e.Container.Controls[1].FindControl("AllDayEvent") as CheckBox;
          RadDatePicker pStartDate = e.Container.Controls[1].FindControl("StartDate") as RadDatePicker;
          RadTimePicker pStartTime = e.Container.Controls[1].FindControl("StartTime") as RadTimePicker;
          RadDatePicker pEndDate = e.Container.Controls[1].FindControl("EndDate") as RadDatePicker;
          RadTimePicker pEndTime = e.Container.Controls[1].FindControl("EndTime") as RadTimePicker;
          RadComboBox lstReminder = e.Container.Controls[1].FindControl("ReminderDropDown") as RadComboBox;
          RadSchedulerAdvancedFormResourceControl resContact = e.Container.Controls[1].FindControl("ResContact") as RadSchedulerAdvancedFormResourceControl;
          RadComboBox lstContact = resContact.FindControl("ResourceValue") as RadComboBox;
          RadSchedulerAdvancedFormResourceControl resCategory = e.Container.Controls[1].FindControl("ResAppointmentCategory") as RadSchedulerAdvancedFormResourceControl;
          RadComboBox lstCategory = resCategory.FindControl("ResourceValue") as RadComboBox;
          RadSchedulerAdvancedFormResourceControl resType = e.Container.Controls[1].FindControl("ResAppointmentType") as RadSchedulerAdvancedFormResourceControl;
          RadComboBox lstType = resType.FindControl("ResourceValue") as RadComboBox;
          RadSchedulerAdvancedFormResourceControl resUser = e.Container.Controls[1].FindControl("ResUser") as RadSchedulerAdvancedFormResourceControl;
          RadComboBox lstUser = resContact.FindControl("ResourceValue") as RadComboBox;
          Appointments_BLL blApp = new Appointments_BLL();
          Appointments_BO boApp = new Appointments_BO();
          boApp.Subject = txtSubject.Text;
          boApp.Location = txtLocation.Text;
          boApp.Description = txtDescription.Text;
          boApp.Result = txtResult.Text;
          boApp.Contact_ID = Convert.ToInt32(DeserializeResourceKey(lstContact.SelectedValue));
          boApp.Appointment_Category_Code = DeserializeResourceKey(lstCategory.SelectedValue).ToString();
          if (lstType.SelectedValue != "")
              boApp.Appointment_Type_Code = Convert.ToInt32(DeserializeResourceKey(lstType.SelectedValue));
          else
              boApp.Appointment_Type_Code = -1;
          DateTime sDate, eDate;
          if (!chkAllDay.Checked)
          {
              sDate = pStartDate.SelectedDate.Value.Date.Add(pStartTime.SelectedDate.Value.TimeOfDay).ToUniversalTime();
              eDate = pEndDate.SelectedDate.Value.Date.Add(pEndTime.SelectedDate.Value.TimeOfDay).ToUniversalTime();
          }
          else
          {
              sDate = pStartDate.SelectedDate.Value.Date.ToUniversalTime();
              eDate = pEndDate.SelectedDate.Value.Date.AddDays(1).ToUniversalTime();
          }
          boApp.Start_Date_Time = sDate;
          boApp.End_Date_Time = eDate;
          boApp.Reminder_Category_Code = lstReminder.SelectedValue;          
          boApp.Last_Update_User_ID = Convert.ToInt32(Session["UserID"]);           
          boApp.Last_Update_Date = DateTime.Now;
          Appointment updatedApp = e.Container.Appointment;
          boApp.Appointment_ID = Convert.ToInt32(updatedApp.ID);
          int iUpdateResult = blApp.updateAppointment(ref boApp);
            
          if (iUpdateResult > 0)
          {
              boApp.Creator_ID = iUpdateResult;
              Resource rContact = (Resource)SchedulerInfo.Resources.GetResource("Contact", boApp.Contact_ID);
              updatedApp.Resources.Add(rContact);
              Resource rUser = (Resource)SchedulerInfo.Resources.GetResource("User", boApp.Creator_ID);
              updatedApp.Resources.Add(rUser);
              Resource rCategory = (Resource)SchedulerInfo.Resources.GetResource("AppointmentCategory", boApp.Appointment_Category_Code);
              updatedApp.Resources.Add(rCategory);
              if (boApp.Appointment_Type_Code != -1)
              {
                  Resource rType = (Resource)SchedulerInfo.Resources.GetResource("AppointmentType", boApp.Appointment_Type_Code);
                  updatedApp.Resources.Add(rType);
              }
              updatedApp.Attributes["Location"] = boApp.Location;
              updatedApp.Attributes["Result"] = boApp.Result;
              if (lstReminder.SelectedValue != "")
                  updatedApp.Reminders.Add(new Reminder(int.Parse(lstReminder.SelectedValue)));
                          
              SchedulerInfo.Rebind();
          }
          else
          {
              //sho msg to user of failer update of appointment
          }
      }


why not the updates reflects directly????
what is wrong in my code???

Please Help....

0
Asa'ad
Top achievements
Rank 1
answered on 19 Dec 2011, 12:27 PM
sorry i didn't see the comment before i reply my last one....

i am using the AppointmentCommand since i didn't find any way to get the AdvancedForm controls except as i showed in my code!!!!

i will do simple project and open a support ticket,,, but if you have any comments regrading the update issue please reply until i open the ticket....


thanks

Asa'ad
.
0
Peter
Telerik team
answered on 20 Dec 2011, 01:05 PM
Hi Asa'ad,

Thank you for submitting a ticket with a sample application. The way you implement the Data Binding for RadScheduler, you need to call fillScheduler() on each postback, not only on initial page load. So, please try removing the highlighted check below:
Copy Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SchedulerInfo.SelectedDate = DateTime.Now;
fillScheduler();
}
}

Also, when you set the DataSource property, it is a good practise to call DataBind():
Copy Code
protected void fillScheduler()
{
* * *
SchedulerInfo.DataSource = dt;
SchedulerInfo.DataBind();
* * *
}



Regards,
Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Mandar
Top achievements
Rank 1
answered on 31 Aug 2018, 06:35 PM

I am having the exact same error as below using AdvancedForms.  I do not have any fancy customization other than what is in the sample apps that come with the distribution

Error: Sys.WebForms.PageRequestManagerServerErrorException: Nullable object must have a value.

I have the scheduler working properly when inserting, editing, etc.  However, upon entering bad data or not selecting the proper time values even though in the debugger I see DurationValidator server method being called which correctly sets the IsValid to false.  The form does not show any validation errors.

And I see the above error in the browser debugger.  Please help.  I am using a Web Application Library Project rather than a Web Site if it matters as I had to add the designer files later on.

 

 

 

Tags
Scheduler
Asked by
Asa'ad
Top achievements
Rank 1
Answers by
Asa'ad
Top achievements
Rank 1
Peter
Telerik team
Mandar
Top achievements
Rank 1
Share this question
or