Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
60
Selected District not retrieved for employee in edit view get
posted

see image 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)

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

}
}

Parents
No Data
Reply
  • 2680
    Offline posted

    Hello Ahmed,

    Thank you for contacting us.

    Do you use Infragistics controls?

    Can you send a working sample so I could further investigate? You could archive it in a zip.

    I am looking forward to hearing from you.

Children
No Data