Я создал мастера с jQuery-Steps
lib с простой формой. Нет кнопки Submit . Я отправляю форму на завершающем этапе через jQuery.
Я уже использую вызовы jQuery повсюду, и я включил все сценарии, и мне нужна была форма для загрузки изображений и прочего, с ней стало проще.
Ничего не происходит, действие контроллера не вызывается.
Я просто перенаправлен на стартовую страницу со всеми этими параметрами в строке запроса.
Как это:
https://localhost:44380/Dashboard?Name=Aaaa&Surename=Bbbb&City=Cccc
Панель инструментов сделана с Ajax и частичным представлением. И от персоны в меню меня перенаправляют на домашний вид в Dashboard со всеми этими параметрами.
Это форма:
<form asp-controller="PersonSettings" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST" id="personForm" class="steps-validation wizard-notification">
<!-- Step 1 -->
<h6>Person</h6>
<fieldset>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="Name">
Person Name :
<span class="danger">*</span>
</label>
<input autocomplete="off" type="text" class="form-control required" id="Name" name="Name">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="Surname">
Person Surname:
<span class="danger">*</span>
</label>
<input autocomplete="off" type="url" class="form-control required" id="Surname" name="Surname">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="City">
Person City:
<span class="danger">*</span>
</label>
<input autocomplete="off" type="url" class="form-control required" id="City" name="City">
</div>
</div>
</div>
</fieldset>
</form>
Это модель:
public class PersonDto {
public string Name { get; set; }
public string Surname { get; set; }
public string City { get; set; }
}
Вот действие в контроллере PersonSettings:
[Route("SaveForm")]
[HttpPost]
public IActionResult SaveForm(PersonDto Person) {
//Do something with person model
return Ok();
}
И на кнопке финиша у меня есть jQuery submit, вызываемый в этой форме:
$('#personForm').submit();
EDIT:
Я пробовал с такими параметрами:
<form action="PersonSettings/SaveForm" method="post" id="personFrom" class="steps-validation wizard-notification">
И это работает .. это хорошо, но почему первый метод не работает? Потому что мне нужно это в Ajax и метод Finish.
Я не нашел способа опубликовать изображение с формой с помощью классического вызова Ajax. Потому что я не могу прочитать путь к изображению (он не доступен браузерам).