这看起来很简单,但我无法克服我在创建级联下拉时收到的错误。我已经访问了这些问题,从类型中进行了更改:" GET"键入:" post",同样在控制器方法中我尝试了JsonResult和ActionResult。一切似乎都是正确但仍然是错误。我检查的问题包括:this,this,this,this和this以及其他论坛中的许多教程和问题。
我正在使用带有localdb和iis express的VS2013社区
以下是我的模特:
public class ItemPrice
{
public int ItemPriceID { get; set; }
public int ItemID { get; set; }
public int price { get; set; }
public virtual Item item { get; set; }
}
控制器动作方法是:
public JsonResult GetPriceByItemId(string ItemId)
{
int Id = Convert.ToInt32(ItemId);
var prices = (from a in db.itemprice where a.ItemID == Id select a);
return Json(prices, JsonRequestBehavior.AllowGet);
}
调试时我确保通过此方法传输控件并成功执行查询。
脚本:
< script >
$(function() {
$('#ItemID').change(function() {
$('#price').empty();
$.ajax({
type: "GET",
url: '@Url.Action("GetPriceByItemId", "StockIns")',
datatype: "Json",
data: {
ItemId: $('#ItemID').val()
},
success: function(data) {
$.each(data, function(index, value) {
$('#price').append('<option value="' + value.ItemPriceID + '">' + value.price + '</option>');
});
}
});
});
}); < /script>
&#13;
我在chrome开发人员工具中调试了脚本,没有任何错误。当脚本中的循环开始执行时(或者在执行循环之前),会出现错误。