En iyi yanıtlayıcılar
MVC de Birbirine Bağlı DropDownListlerde Hata

Soru
-
<script type="text/javascript">
$(function () {
$("#MainCategory").change(function () {
var selectedItem = $(this).val();
var ddlStates = $("#SubCategory");
var statesProgress = $("#states-loading-progress");
statesProgress.show();
$.ajax({
cache: false,
type: "POST",
url: "@(Url.Action("GetAllSubCategoryByMainCategoryID", "Product"))",
data: { "MID": selectedItem },
success: function (data) {
ddlStates.html('');
$.each(data, function (SubCategoryID, option) {
ddlStates.append($('<option></option>').val(option.SubCategoryID).html(option.CategoryName));
});
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed to retrieve states.');
}
});
});
});
</script>[HttpPost]
public ActionResult GetAllSubCategoryByMainCategoryID(int MID)
{
List<SubCategory> AllSubCategory = new RepositoryPattern<SubCategory>().GetAllEntities(x => x.MainCategoryID == MID).ToList();
return this.Json(AllSubCategory, JsonRequestBehavior.AllowGet);
}Herşey Doğru Ama Kod Habire Error Kısmına Düşüyor Yorumlarınızı Esirgemeyin
Yanıtlar
-
sorun şurada olabilir;
data: { "MID": selectedItem }data : JSON.stringify({ MID, selecteditem })
şeklinde deneyin. JSON.stringfy veriyi json a çevirmeye yardımcı olur.ActionResult Json olduğuna göre veriyi de getJSON ile alın. aslında yolu uzatmışsınız biraz. Benim yazdığım bu;
$('#CustomerProvinceId').change(function () { $('#CustomerCountryId').html(''); $.getJSON('@Url.Action("GetCountriesByProvinceId", "Order")/' + $(this).val(), null, function (d) { var o = document.createElement("OPTION"); $(o).attr("value", '-1'); $(o).html('[SEÇİNİZ]'); $('#CustomerCountryId').append(o); for (i in d) { var o = document.createElement("OPTION"); $(o).attr("value", d[i].Id); $(o).html(d[i].Name); $('#CustomerCountryId').append(o); } }); });
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 19 Eylül 2013 Perşembe 05:48
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 20 Eylül 2013 Cuma 06:15
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 25 Eylül 2013 Çarşamba 14:36
Tüm Yanıtlar
-
sorun şurada olabilir;
data: { "MID": selectedItem }data : JSON.stringify({ MID, selecteditem })
şeklinde deneyin. JSON.stringfy veriyi json a çevirmeye yardımcı olur.ActionResult Json olduğuna göre veriyi de getJSON ile alın. aslında yolu uzatmışsınız biraz. Benim yazdığım bu;
$('#CustomerProvinceId').change(function () { $('#CustomerCountryId').html(''); $.getJSON('@Url.Action("GetCountriesByProvinceId", "Order")/' + $(this).val(), null, function (d) { var o = document.createElement("OPTION"); $(o).attr("value", '-1'); $(o).html('[SEÇİNİZ]'); $('#CustomerCountryId').append(o); for (i in d) { var o = document.createElement("OPTION"); $(o).attr("value", d[i].Id); $(o).html(d[i].Name); $('#CustomerCountryId').append(o); } }); });
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 19 Eylül 2013 Perşembe 05:48
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 20 Eylül 2013 Cuma 06:15
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 25 Eylül 2013 Çarşamba 14:36
-
url: "@(Url.Action("GetAllSubCategoryByMainCategoryID", "Product"))",
bu kısım da da sorun var
url: "@(Url.Action("GetAllSubCategoryByMainCategoryID", "Product"))/?MID=" + selecteditem ,şeklinde değiştirip deneyebilirsiniz.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 19 Eylül 2013 Perşembe 06:36