Я новый нуб на c# MVC, и я действительно хотел бы получить помощь, если это возможно, или если кто-то может любезно указать мне правильное направление. Я потратил часы на поиски решения в Интернете, и мне еще предстоит найти что-то полезное, поэтому я публикую здесь.
Я работаю над созданием веб-приложения базы данных сотрудников для своей компании, и у меня есть для Например, следующие классы.
namespace my_app.Models.Employee
{
public class Employee
{
public Employee()
{
}
// id
public int id { get; set; }
// employee id/payroll no
public string Employeeid { get; set; }
// employee qualifications
public IList<EmployeeQualification> EmployeeQualifications { get; set; }
}
}
namespace my_app.Models.Employee
{
public class EmployeeQualification
{
public EmployeeQualification()
{
}
// employee Qualification id
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
// employee Qualification institution
public string Institution { get; set; }
// employee Qualification qualificaiton
public string Qualification { get; set; }
public IList<Employee> Employees { get; set; }
}
}
Сотрудник добавляется в EmployeeViewModel, который выглядит примерно так:
namespace my_app.ViewModels
{
public class EmployeeViewModel
{
public Employee Employee { get; set; }
// more stuff here
}
}
Теперь у меня есть проблема, и мне нужна помощь: хотел бы отобразить сотрудника (т. е. имя, адрес и т. д. c) в представлении, а также иметь возможность перечислять квалификации сотрудника с возможностью добавления и удаления квалификаций.
Я видел много учебных пособий в Интернете о том, как это сделать с помощью AJAX и метода Entity Framework SaveChanges, и я уверен, что это сработает, но немного сложнее с тем, что я хочу сделать, это то, что я хотел бы, чтобы изменения остались на клиенте и только когда вся форма, включая любые изменения в объекте сотрудника, отправлена, тогда изменения сохраняются в базе данных.
Есть ли способ сделать это со стандартными mvc элементами управления или мне нужно написать тонну JavaScript, чтобы сохранить изменения в локальном массиве объектов и затем включить Форма отправки добавить дополнительные данные формы.
Я написал целую кучу jQuery, чтобы заставить его работать, но проблема в том, что мне нужно иметь эту функциональность на нескольких представлениях приложения и писать каждый раз столько кода не кажется умным.
Любая помощь будет принята с благодарностью, спасибо.