Я использую Ajax.BeginForm на моем частичном представлении, чтобы отправить данные.MVC - Trigger отправить событие частичного просмотра в главном окне с помощью JQuery
Частичный вид - _getCategoryMaster.cs
<div>
@using (Ajax.BeginForm("Submit", "CategoryMasterDataEntry", new AjaxOptions { OnSuccess = "OnDatatSuccess", OnFailure = "OnDataFailure", HttpMethod = "POST" }, new { enctype = "multipart/form-data" }))
{
<div style="float:left;width:100%;">
<hr class="horizontal-line-bottom" />
<div class="form-buttons tab-footer">
<button class="btn btn-md" type="submit" id="saveData" @if (TempData["DisplayAccess"].ToString() == "view") { <text> disabled </text> }>SAVE</button>
</div>
</div>
}
</div>
Теперь я пытаюсь вызвать это представить событие из моего родительского вида на события нажатия на ссылку с Jquery
Parent View -
<html>
<head>
<script type="text/javascript">
$(document).on('click', '.getProducts', function (e) {
alert("Start");
$('form#ajaxForm').trigger('submit');
alert("End");
</script>
</head>
<body>
<a id="anchId" href="javascript:void(0);" class="getProducts">
<img src="~/Images/bullets.png" class="bullet-image" />
<span class="menu-text">LinkName</span>
</a>
</body>
</html>
Но это не стрельба, которая передает событие частичного просмотра. Я получаю эти предупреждения (начало и конец). Но его не увольняют, чтобы отправить мероприятие.
Что я здесь делаю неправильно?
Thankss много !!!! –
Можете ли вы ответить при использовании 'Ajax.BeginForm', почему' event.stopPropagation(); 'и' e.preventDefault(); 'не работает в' OnBegin = 'return MyBeginFunction (event) "' but 'return false; 'работает. [здесь] (https://stackoverflow.com/a/48203120/2218697) - мой ответ. – stom
@stom, 'OnBegin()' - это функция, вызываемая непосредственно перед фактическим вызовом ajax. Если он возвращает 'false', последующий вызов ajax не выполняется. Нет «события», которое обрабатывается. И в вашем ответе вы не можете вызывать '$ ('Ajax_form'). Trigger ('submit');' inside' OnBegin() '- это создаст бесконечный цикл –