Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Selected District not retrieved for employee in edit view get

Status
Not open for further replies.

ahm1985

Programmer
Dec 6, 2012
138
EG
add_district_mpl2eb.jpg

in link above it show what i need
I have three drop down list Country,City,District
three drop down list cascade each other
meaning select country fill City and select City fill District in edit or create both
in edit view i can get value selected previous for country and city for employee i need to edit
but District cannot get selected value for employee i need to edit

in Edit view (get)
Code:
@model WebCourse.Models.Customemployee2
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Edit</title>
    <script src="~/scripts/jquery-1.10.2.js"></script>
    <script>
        $(function () {
            $("#CountryId").change(function () {
                $("#citylist").empty();
             //  alert("error");
                var x = $(this).val();
                $.ajax({
                    url: "/empcourse/getcitybyid",
                    data: { id: x },
                    success:function(res)
                    {
                        $.each(res, function (i, e) {
                            if (e.Id == $("#cityidhidden").val())
                            {
                                $("#citylist").append("<option selected value='" + e.Id + "'>" + e.CityName + "<option>")
                            }
                            else
                            {
                                $("#citylist").append("<option value='" + e.Id + "'>" + e.CityName + "<option>")
                            }
                           

                        });
                    }
                });


            });
            $("#CountryId").change();
            $("#citylist").change(function () {
                $("#districtlist").empty();
                // alert("error");
                var y = $(this).val();
                $.ajax({
                    url: "/empcourse/getdistrictbyid",
                    data: { id: y },
                    success: function (res) {
                        $.each(res, function (i, e) {
                            if (e.Id == $("#disthidden").val()) {
                                $("#districtlist").append("<option selected value='" + e.Id + "'>" + e.DistrictName + "<option>")
                            }
                            else
                            {
                                $("#districtlist").append("<option value='" + e.Id + "'>" + e.DistrictName + "<option>")

                            }

                        });
                    }
                });


            });
           
            $("#citylist").change();
        });
        </script>
</head>
<body>
    <div>
        @using (Html.BeginForm())
        {
            <div>
                <input type="hidden" value="@ViewBag.Cityid" id="cityidhidden" />
                <input type="hidden" value="@ViewBag.dist" id="disthidden" />
                Name:@Html.TextBoxFor(a => a.Name)
                <br />
                Country:@Html.DropDownList("CountryId")
                <br />
                City:<select id="citylist" name="CityId"></select>
                <br />
                District:<select id="districtlist" name="DistrictId"></select>
                <br />
                <input type="submit" />
            </div>
        }

    </div>
</body>
</html>
in Edit function in controller empcourse

 public class empcourseController : Controller
    {
        mycourseEntities db = new mycourseEntities();

        // GET: empcourse
       
        public ActionResult Edit(int id)
        {
            Employee old = db.Employees.Find(id);
            if (old != null)
            {
// country and city working
//district not working
                int countryid = old.Destrict.City.Country.Id;
                var vm = new Customemployee2();
                vm.Name = old.Name;
                ViewBag.CountryId = new SelectList(db.Countries.ToList(), "Id", "CountryName",countryid);
                ViewBag.Cityid = old.Destrict.City.Id;
                ViewBag.dist = old.DistrictId;
                return View(vm);
            }
//getcitybyid retrieve city it call in ajax in jquery and it working
        public JsonResult getcitybyid(int id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            return Json(db.Cities.Where(a => a.CountryId == id), JsonRequestBehavior.AllowGet);
        }
//getdistrictbyid retrieve district it call in ajax in jquery and it working
        public JsonResult getdistrictbyid(int id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            return Json(db.Destricts.Where(a => a.CityId == id), JsonRequestBehavior.AllowGet);
        }
         
        }
in model Customemployee2

 public class Customemployee2
    {
        public string Name { get; set; }
        public int  DistrictId { get; set; }

    }
}
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top