Anonymous
Отобразите все сведения о резиденте после нажатия кнопки просмотра с помощью ASP.NET Core.
Сообщение
Anonymous » 15 июл 2024, 06:23
Manage.cshtml
Код: Выделить всё
Resident ID
First Name
Middle Name
Last Name
View
@foreach (var resident in Model)
{
@resident.ResidentID
@resident.FirstName
@resident.MiddleName
@resident.LastName
View
}
resident.js
Код: Выделить всё
$('#residentModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var resident = button.data('resident');
console.log('Resident data:', resident); // Log the entire resident object to console
var modal = $(this);
modal.find('#modalResidentID').text(resident.residentID);
modal.find('#modalFirstName').text(resident.firstName);
modal.find('#modalMiddleName').text(resident.middleName);
modal.find('#modalLastName').text(resident.lastName);
modal.find('#modalBirthdate').text(resident.birthdate);
modal.find('#modalAge').text(resident.age);
modal.find('#modalEmail').text(resident.email);
modal.find('#modalCreationDate').text(resident.creationDate);
modal.find('#modalModifiedBy').text(resident.modifiedBy);
modal.find('#modalModifiedDate').text(resident.modifiedDate);
// Check if addresses are defined and not empty
if (resident.addresses && resident.addresses.length > 0) {
var addresses = resident.addresses;
var addressList = modal.find('#modalAddresses').empty();
addresses.forEach(function (address) {
addressList.append('[*]' + address.street + ', ' + address.city + ', ' + address.state + ', ' + address.zipCode + '');
});
} else {
modal.find('#modalAddresses').html('[*]No addresses found.');
}
// Check if contacts are defined and not empty
if (resident.contacts && resident.contacts.length > 0) {
var contacts = resident.contacts;
var contactList = modal.find('#modalContacts').empty();
contacts.forEach(function (contact) {
contactList.append('[*]' + contact.contactType + ': ' + contact.contactValue + '');
});
} else {
modal.find('#modalContacts').html('[*]No contacts found.');
}
});
ResidentController.cs
Код: Выделить всё
public async Task Manage()
{
var residents = await _context.WMS_Resident
.Include(r => r.Addresses)
.Include(r => r.Contacts)
.ToListAsync();
var residentViewModels = residents.Select(r => new ResidentViewModel
{
ResidentID = r.ResidentID,
FirstName = r.FirstName,
MiddleName = r.MiddleName,
LastName = r.LastName,
Birthdate = r.Birthdate,
Age = r.Age,
Email = r.Email,
CreationDate = r.CreationDate,
ModifiedBy = r.ModifiedBy,
ModifiedDate = r.ModifiedDate,
Addresses = r.Addresses.Select(a => new AddressViewModel
{
AddressID = a.AddressID,
ResidentID = a.ResidentID,
AddressType = a.AddressType,
HouseNumber = a.HouseNumber,
Street = a.Street,
Barangay = a.Barangay,
CreationDate = a.CreationDate,
ModifiedBy = a.ModifiedBy,
ModifiedDate = a.ModifiedDate
}).ToList(),
Contacts = r.Contacts.Select(c => new ContactViewModel
{
ContactID = c.ContactID,
ResidentID = c.ResidentID,
ContactType = c.ContactType,
ContactNumber = c.ContactNumber,
CreationDate = c.CreationDate,
ModifiedBy = c.ModifiedBy,
ModifiedDate = c.ModifiedDate
}).ToList()
}).ToList();
return View(residentViewModels);
}
Код: Выделить всё
Resident Details
×
[b]Resident ID:[/b]
[b]First Name:[/b]
[b]Middle Name:[/b]
[b]Last Name:[/b]
[b]Birthdate:[/b]
[b]Age:[/b]
[b]Email:[/b]
[b]Creation Date:[/b]
[b]Modified By:[/b]
[b]Modified Date:[/b]
Addresses
[list][/list]
Contacts
[list][/list]
В этом сценарии Manage.cshtml отображает все резидентные элементы, но в ограниченных полях, кроме резидент хочет просмотреть всю информацию, просто нажав кнопку просмотра, он отображает все детали резидента через модальное окно.
Но я столкнулся с проблемой, когда нажал кнопку просмотра конкретного резидента модальной информации. NULL
Кто-нибудь может мне помочь с этой проблемой
Подробнее здесь:
https://stackoverflow.com/questions/787 ... -using-asp
1721013838
Anonymous
Manage.cshtml [code] Resident ID First Name Middle Name Last Name View @foreach (var resident in Model) { @resident.ResidentID @resident.FirstName @resident.MiddleName @resident.LastName View } [/code] resident.js [code]$('#residentModal').on('show.bs.modal', function (event) { var button = $(event.relatedTarget); var resident = button.data('resident'); console.log('Resident data:', resident); // Log the entire resident object to console var modal = $(this); modal.find('#modalResidentID').text(resident.residentID); modal.find('#modalFirstName').text(resident.firstName); modal.find('#modalMiddleName').text(resident.middleName); modal.find('#modalLastName').text(resident.lastName); modal.find('#modalBirthdate').text(resident.birthdate); modal.find('#modalAge').text(resident.age); modal.find('#modalEmail').text(resident.email); modal.find('#modalCreationDate').text(resident.creationDate); modal.find('#modalModifiedBy').text(resident.modifiedBy); modal.find('#modalModifiedDate').text(resident.modifiedDate); // Check if addresses are defined and not empty if (resident.addresses && resident.addresses.length > 0) { var addresses = resident.addresses; var addressList = modal.find('#modalAddresses').empty(); addresses.forEach(function (address) { addressList.append('[*]' + address.street + ', ' + address.city + ', ' + address.state + ', ' + address.zipCode + ''); }); } else { modal.find('#modalAddresses').html('[*]No addresses found.'); } // Check if contacts are defined and not empty if (resident.contacts && resident.contacts.length > 0) { var contacts = resident.contacts; var contactList = modal.find('#modalContacts').empty(); contacts.forEach(function (contact) { contactList.append('[*]' + contact.contactType + ': ' + contact.contactValue + ''); }); } else { modal.find('#modalContacts').html('[*]No contacts found.'); } }); [/code] ResidentController.cs [code]public async Task Manage() { var residents = await _context.WMS_Resident .Include(r => r.Addresses) .Include(r => r.Contacts) .ToListAsync(); var residentViewModels = residents.Select(r => new ResidentViewModel { ResidentID = r.ResidentID, FirstName = r.FirstName, MiddleName = r.MiddleName, LastName = r.LastName, Birthdate = r.Birthdate, Age = r.Age, Email = r.Email, CreationDate = r.CreationDate, ModifiedBy = r.ModifiedBy, ModifiedDate = r.ModifiedDate, Addresses = r.Addresses.Select(a => new AddressViewModel { AddressID = a.AddressID, ResidentID = a.ResidentID, AddressType = a.AddressType, HouseNumber = a.HouseNumber, Street = a.Street, Barangay = a.Barangay, CreationDate = a.CreationDate, ModifiedBy = a.ModifiedBy, ModifiedDate = a.ModifiedDate }).ToList(), Contacts = r.Contacts.Select(c => new ContactViewModel { ContactID = c.ContactID, ResidentID = c.ResidentID, ContactType = c.ContactType, ContactNumber = c.ContactNumber, CreationDate = c.CreationDate, ModifiedBy = c.ModifiedBy, ModifiedDate = c.ModifiedDate }).ToList() }).ToList(); return View(residentViewModels); } [/code] [code] Resident Details × [b]Resident ID:[/b] [b]First Name:[/b] [b]Middle Name:[/b] [b]Last Name:[/b] [b]Birthdate:[/b] [b]Age:[/b] [b]Email:[/b] [b]Creation Date:[/b] [b]Modified By:[/b] [b]Modified Date:[/b] Addresses [list][/list] Contacts [list][/list] [/code] [img]https://i.sstatic.net/bmRg5HfU.png[/img] [img]https://i.sstatic.net/cw4UT3Tg.png[/img] В этом сценарии Manage.cshtml отображает все резидентные элементы, но в ограниченных полях, кроме резидент хочет просмотреть всю информацию, просто нажав кнопку просмотра, он отображает все детали резидента через модальное окно. Но я столкнулся с проблемой, когда нажал кнопку просмотра конкретного резидента модальной информации. NULL Кто-нибудь может мне помочь с этой проблемой Подробнее здесь: [url]https://stackoverflow.com/questions/78745539/display-the-all-the-details-of-resident-after-clicking-the-view-button-using-asp[/url]