当我在文本框中键入国家/地区名称并点击按钮时,我正在尝试获取客户列表(姓名和地址)。
以下是观点:
<p>
Enter country name @Html.TextBox("Country")
<input type="submit" id="GetCustomers" value="Submit"/>
</p>
以下是JSON调用:
<script type="text/jscript">
$('#GetCustomers').click(function () {
//var url = "/Home/CustomerList";
//var Country = $('#Country').val();
//$.getJSON(url, { input: Country }, function (data) {
$.getJSON('/Home/CustomerList/' + $('#Country').val(), function (data) {
var items = '<table><tr><th>Name</th><th>Address</th></tr>';
$.each(data, function (i, country) {
items += "<tr><td>" + country.ContactName + "</td><td>" + country.Address + "</td></tr>";
});
items += "</table>";
$('#rData').html(items);
});
})
</script>
这是控制器:
public JsonResult CustomerList(string Id)
{
var result = from r in db.Customers
where r.Country == Id
select r;
return Json(result);
}
我的问题是:
i)当我使用以下
时var url = "/Home/CustomerList";
var Country = $('#Country').val();
$.getJSON(url, { input: Country }, function (data) {
没有将参数传递给CustomerList方法,但是后续工作正常
$.getJSON('/Home/CustomerList/' + $('#Country').val(), function (data) {
ii)当我使用以下JSON
时$.getJSON('/Home/CustomerList/' + $('#Country').val(), function (data) {
然后关注CustomerList方法
public JsonResult CustomerList(string Id)
{
var result = from r in db.Customers
where r.Country == Id
select r;
return Json(result);
}
当我使用'string Id'时它工作正常但是当我使用'string country'然后'where r.Country == country'时,它不起作用。
iii)这是使用响应的正确方法,而不是正常工作
var items = '<table><tr><th>Name</th><th>Address</th></tr>';
$.each(data, function (i, country) {
items += "<tr><td>" + country.ContactName + "</td><td>" + country.Address + "</td></tr>";
});
items += "</table>";
$('#rData').html(items);
任何帮助表示感谢。
答案 0 :(得分:1)
试试这个
$('#GetCustomers').click(function () {
//var url = "/Home/CustomerList";
//var Country = $('#Country').val();
//$.getJSON(url, { input: Country }, function (data) {
$.getJSON('/Home/CustomerList/' + $('#Country').val(), function (data) {
var items = '<table><tr><th>Name</th><th>Address</th></tr>';
$.each(data, function (i, country) {
items += "<tr><td>" + country.ContactName + "</td><td>" + country.Address + "</td></tr>";
});
items += "</table>";
$('#rData').html(items);
},'json');
});