从视图中的下拉列表中获取数据



我想从视图中的下拉列表中获取数据,并且数据已经在我的mssql数据库中了。

有一列名为";地址";,我使用列值来过滤数据库中的数据,以获得我想要的数据,这就是我的代码。

[HttpPost]
public JsonResult GetPharmacy(string cityName, string areaName)
{
Project1Entities db = new Project1Entities();
var query = (from a in db.Pharmacies
where a.Adress == cityName
select a);
var query1 = (from b in query
where b.Adress == areaName
select b);
if (string.IsNullOrEmpty(areaName))
{
return Json(new EmptyResult());
}
return Json(query1);
}

";城市名称";以及";区域名称";有值,但当我用视图中的按钮将请求发送到数据库时,它什么也不返回。。。

这是我在ajex中的函数:

function SerchallData(selectedCity) {
var selectedCity = $('#CITY option:selected').val();
var selectedValue = $('#AREA option:selected').val();
if ($.trim(selectedValue).length > 0) {
$.ajax({
url: '@Url.Action("GetMaskmap", "Getarea")',
data: { cityName: selectedCity, areaName: selectedValue },
type: 'POST',
dataType: 'json',
success: function (data) {
$('#Table>tbody').empty();
for (var i = 0; i < data.length; i++) {
var row = $('<tr><td>' + data[i].ID + '</td><td>' + data[i].Name + '</td><td>' + data[i].Adress + '</td><td>' +  data[i].Phonenumber +'</td></tr>');
$('#Table>tbody').append(row);

}

},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error: ' + textStatus + ' - ' + errorThrown);
}
});

我想知道我无法从数据库中获得值返回的问题在哪里?

您的查询没有意义。在第一部分中,您请求Adress等于cityName的记录。在第二部分中,您将其筛选为Adress等于areaName的记录。如果cityNameareaName不相等,则结果将始终为空。

由于两个CCD_ 7查询的顺序组合等于单个查询;"与";,你可以这样重写你的请求,这使得错误显而易见:

var query = (from a in db.Pharmacies
where a.Adress == cityName && a.Adress == areaName
select a);

首先,您不是从数据库返回对象,而是返回查询。其次,该查询没有逻辑意义,我认为您的意思是选择一个记录与任一值匹配的值。

Yry this:

var pharamacy = db.Pharmacies.Where(x=>x.Adress == cityName || x.Adress == areaName).FirstOrDefault();

最新更新