我的下拉列表工作正常。它正在点击JsonResult并通过CountryId获取VendorList,但是在ajax部分,这个数据没有创建任何表来显示我提取的数据。
控制器代码
[HttpPost]
public JsonResult GetVendorIdByCountryId(string countryId)
{
int countId;
List<Vendor> vendorList = new List<Vendor>();
if (!string.IsNullOrEmpty(countryId))
{
countId = Convert.ToInt32(countryId);
vendorList = entity.Vendors.Where(x => x.CountryId == countId && x.VendorsStatus==true).ToList();
}
SearchViewModel svm1 = new SearchViewModel();
svm1.VendorList = vendorList;
return Json(svm1.VendorList, JsonRequestBehavior.AllowGet);
}
Index.cshtml
<script type="text/javascript">
$(document).ready(function () {
$("#ddlCountry").change(function () {
$("#tblProducts tbody tr").remove();
$.ajax({
type: 'POST',
url: '@Url.Action("GetVendorIdByCountryId")',
dataType: 'json',
data: { countryId: $("#ddlCountry").val() },
success: function (data) {
var json = data;
var $table = $('#tblVendor');
$.each(json, function(i, value) {
var $row = $('<tr />');
$('<td />').text(value[i].VendorId).appendTo($row);
$('<td />').text(value[i].VendorName).appendTo($row);
$table.append($row);
});
},
error: function (ex) {
var r = jQuery.parseJSON(response.responseText);
alert("Message: " + r.Message);
alert("StackTrace: " + r.StackTrace);
alert("ExceptionType: " + r.ExceptionType);
}
});
return false;
})
});
</script>
<div>
<table id="tblVendor" name="VendorList">
<thead>
<tr>
<th>VendorId</th>
<th>VendorName</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
我已经尝试了几种方法来创建我的表但是它不起作用.JavaScript没有将我的Json值发送到表中。我无法弄清楚我在哪里犯这个错误。我是.net Mvc平台的新人。