В этом случае необходимо воспользоваться jquery-ajax
. Без ajax
в настоящее время нет решения.
Сначала вызовите функцию JavaScript при отправке формы. Просто установите onsubmit="func()"
. Даже если функция вызывается, будет выполняться действие по умолчанию для представления. Если он будет выполнен, не будет возможности остановить обновление страницы или перенаправление. Итак, следующая задача - предотвратить действие по умолчанию. Вставьте следующую строку в начале func()
.
event.preventDefault()
Теперь не будет перенаправления или обновления. Таким образом, вы просто делаете ajax-вызов из func()
и выполняете все, что хотите, когда заканчивается вызов.
Пример:
Форма:
<form id="form-id" onsubmit="func()">
<input id="input-id" type="text">
</form>
Javascript:
function func(){
event.preventDefault();
var newValue = $('#input-field-id').val();
$.ajax({
type: 'POST',
url: '...',
data: {...},
datatype: 'JSON',
success: function(data){...},
error: function(){...},
});
}
Изменение атрибута
[ForeignKey("id")]
public virtual ICollection<SerStaHis> SerStaHis{ get; set; }
на
[ForeignKey("service_id")]
public virtual ICollection<SerStaHis> SerStaHis{ get; set; }
ForeignKey
работает по-разному при применении к свойству FK, свойству навигационной ссылки и свойству навигации по коллекции. При применении к свойству навигации по коллекции оно задает имя свойства FK связанного с объекта объекта.
Я лично нахожу ForeignKey
атрибут запутанным и подверженным ошибкам. Свободный API намного более интуитивен и обеспечивает намного лучший контроль. Свободная конфигурация для вашего сценария выглядит следующим образом:
modelBuilder.Entity<Ser>()
.HasMany(ser => ser.SerStaHis) // collection navigation property
.WithOne() // no reference navigation property
.HasForeignKey(serStaHis => serStaHis.service_id); // foreign key property