我有两个通过ID连接的表。一张表是针对专业医疗服务提供者的,第二张是针对医疗服务提供者的列表。我想在View中显示SpecialityName
到目前为止,我已经创建了一个控制器
[HttpGet]
public virtual JsonResult MedicalInput(int id)
{
var medProvidersInput = db.Contacts.Where(s => s.Id == id && s.ContactCategory.Name == "Facility").Select(a => new
{
Id = a.Id,
Firstname = a.Firstname,
Address1 = a.Address1,
TypeId = a.TypeId,
City = a.City,
State = a.State,
Zip = a.Zip,
Mobile = a.Mobile,
});
//ViewData["medProvidersInput"] = medProvidersInput;
return Json(medProvidersInput, JsonRequestBehavior.AllowGet);
}
我在脚本中创建的代码的第二部分,用于获取这些元素以在TextView中查看和显示(图3)
$(document).on('click', '.sortList', function () {
var selectLat = $(this).closest("tr").attr('data-lat');
var selectLong = $(this).closest("tr").attr('data-long');
$('.sortList').each(function () {
$(this).closest("tr").removeClass('success');
});
$(this).closest("tr").addClass('success');
var id = $(this).attr('data-id');
$.getJSON("/NfDocuments/MedicalInput", { id: id },
function (data) {
$('#medInput').empty();
$.each(data, function () {
// $("#medInput").append("'" + this.Id + "'");
//console.log(this.Id);
var medInput = document.getElementById("medInput");
medInput.value = this.Firstname + ' - '
+ this.Zip + ' '
+ this.Address1 + ','
//+ this.TypeId + ','
+ this.City + ','
+ this.State + ' - '
+ this.Mobile;
});
});
所以我想从表中选择“名称”,并在“地址”字段后的TextView中显示。 所以我的问题是:是否可以将ID转换为String,以便在textview中获得专业名称? 谢谢
答案 0 :(得分:1)
由于您使用的是Entity Framework,并且表之间已经存在关系,因此tou可以非常轻松地将字段包含在.Select()语句中:
var medProvidersInput = db.Contacts.Where(s => s.Id == id && s.ContactCategory.Name == "Facility").Select(a => new
{
Id = a.Id,
Firstname = a.Firstname,
Address1 = a.Address1,
TypeId = a.TypeId,
City = a.City,
State = a.State,
Zip = a.Zip,
Mobile = a.Mobile,
SpecialtyName = a.ContactType.Name //make a field called SpecialtyName using the contact type name field
});
然后它将自动包含在JSON中,并且您可以在JavaScript代码中使用它并根据需要显示它。