ASP.NET MVC Cashcading dropdown



View Page


 @model FactoryProduct.Web.Areas.Payroll.Models.EmployeeLeaveCalendarModels  
 <script>  
  function getDepartmentReleatedData(ctrl) {  
     var DepartmentId = $('#EmployeeLeaveCalendar_GDepartmentID').val();  
     var FactoryId = $('#EmployeeLeaveCalendar_GFactoryID').val();  
     var s = ',';  
     if (DepartmentId != "00000000-0000-0000-0000-000000000000" && DepartmentId != "" && FactoryId != "00000000-0000-0000-0000-000000000000" && FactoryId != "") {  
       var p = (FactoryId + s + DepartmentId)  
       GetDesignationByDepartment(p);  
       //GetCategogyByDepartmentId(p);  
       //GetSectionByDepartmentId(p);  
       //GetEmpCategogyByDepartmentId(p);  
     }  
     return false;  
   }  
   function GetDesignationByDepartment(Id) {  
     $('#EmployeeLeaveCalendar_GDesignationInfoID> option:not(:first)').remove();  
     var form = $("#frmLeaveOpeningDetails");  
     var serializedForm = form.serialize();  
     var url = "/PMS/Payroll/LeaveOpening/GetDepartmentWiseDesignationList/" + Id;  
     $.post(url, serializedForm, function (result) {  
       $.each(result, function () {  
         $("#EmployeeLeaveCalendar_GDesignationInfoID").append($("<option></option>").val(this['DesignationInfoID']).html(this['DesignationName']));  
       });  
       $("#EmployeeLeaveCalendar_GDesignationInfoID").change();  
     }, "json");  
     return false;  
   }  
 </script  
 <form id="frmLeaveOpeningDetails" action="">  
   <div>  
     <div>  
       <label>  
         Department Name</label>  
     </div>  
     <div>  
       @Html.DropDownListFor(m => m.EmployeeLeaveCalendar.GDepartmentID, Model.DepartmentListForEmployee, CommonMessage.SelectOne, new { @class = "selectBoxRegular" , onchange = "return getDepartmentReleatedData(this);"})   
     </div>  
     <div>  
       <label>  
         Designation</label>  
     </div>  
     <div>  
       @Html.DropDownListFor(m => m.EmployeeLeaveCalendar.GDesignationInfoID, Model.DesignationtListForEmployee, CommonMessage.SelectOne, new { @class = "selectBoxRegular" })  
     </div>  
   </div>  
  </form>  

Controller


  public JsonResult GetDepartmentWiseDesignationList(string id)  
     {  
       string[] dateString = id.Split(',');  
       string factoryId = dateString[0];  
       string departmentId = dateString[1];  
       ArrayList AssignDesignationList = new ArrayList();  
       try  
       {  
         List<Mohammadi.Core.PIS.Business.DesignationInfo> AssignDesignation = new List<Mohammadi.Core.PIS.Business.DesignationInfo>();  
         DesignationHelper designationHelperobj = new DesignationHelper();  
         AssignDesignation = designationHelperobj.GetAssignDesignationByDepartment(factoryId, departmentId);  
         var items = (from item in AssignDesignation  
                select new { item.DesignationInfoID, item.DesignationName }).ToList();  
         foreach (var item in items)  
         {  
           AssignDesignationList.Add(item);  
         }  
       }  
       catch (Exception ex)  
       {  
       }  
       return Json(AssignDesignationList);  
     }  


Model

 public EmployeeLeaveCalendar EmployeeLeaveCalendar { get; set; }  
 private SelectList designationtListForEmployee;  
     public SelectList DesignationtListForEmployee  
     {  
       get  
       {  
         List<Mohammadi.Core.PIS.Business.DesignationInfo> DesignationList = new List<Mohammadi.Core.PIS.Business.DesignationInfo>();  
         DesignationHelper designationHelperobj = new DesignationHelper();  
         if (this.EmployeeLeaveCalendar.GFactoryID != null && this.EmployeeLeaveCalendar.GFactoryID.ToString() != "00000000-0000-0000-0000-000000000000" && this.EmployeeLeaveCalendar.GDepartmentID != null && this.EmployeeLeaveCalendar.GDepartmentID.ToString() != "00000000-0000-0000-0000-000000000000")  
         {  
           DesignationList = designationHelperobj.GetAssignDesignationByDepartment(this.EmployeeLeaveCalendar.GFactoryID.ToString(), this.EmployeeLeaveCalendar.GDepartmentID.ToString());  
         }  
         else  
         {  
           DesignationList = designationHelperobj.GetFactoryWiseAllDesignation(this.EmployeeLeaveCalendar.GFactoryID);  
         }  
         this.designationtListForEmployee = new SelectList(DesignationList, "DesignationInfoID", "DesignationName");  
         return designationtListForEmployee;  
       }  
       set { designationtListForEmployee = value; }  
     }  








Popular posts from this blog

WPF Crystal Report Viewer Using SAP

ASP.NET MVC razor SAP Crystal report