Skip to main content

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; }  
     }  








Comments

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW