-1

脚本

$(document).ready(function () {
    $("#musteri_sno").change(function () {
        var strSayacID = "";
        strSayacID = $(this)[0].value; // get the selected state id

        var url = "/SayacOkumalari/MusteriSayaclariniGetir/" + strSayacID ;
        // call controller's action
        $.getJSON(url, null, function (data) {
            // do something once the data is retrieved
            $("#sayac_no").empty();
            $.each(data, function (index, optionData) {
                $("#sayac_no").append("<option value='"
                 + optionData.sno
                 + "'>" + optionData.sayac_seri_no
                 + "</option>");
            });
        });
    })
.change(); // making sure the event runs on initialization for default value
});

html

<td>
    @Html.DropDownList("musteri_sno", (SelectList)ViewBag.musteri_id, "--Müşteri Seçiniz--", new { id = "musteri_sno" })
</td>
<td>
    @Html.DropDownList("sayac_no", Enumerable.Empty<SelectListItem>(), "-- Sayaç Seçiniz --", new { id = "sayac_no" })
</td>

行动

[HttpGet]
public ActionResult MusteriSayaclariniGetir(int musteri_sno)
{
    var sites = entity.TblSayaclar.Where(x => x.musteri_id == musteri_sno).Select(x => new { sno = x.sno, sayac_seri_no = x.seri_no });
    return Json(sites, JsonRequestBehavior.AllowGet);
}

当我从MusteriSayaclariniGetir(int musteri_sno)操作中删除参数 musteri_no 时,我的代码可以正常工作。url有问题var url = "/SayacOkumalari/MusteriSayaclariniGetir/" + strStateID;还是其他错误?

谢谢。

4

1 回答 1

1

是你路由的问题。使用“id”而不是“musteri_sno”来使用默认映射或在 Global.asax.cs 中为您的控制器添加一个路由映射

于 2012-07-16T09:47:55.227 回答