Привет я делаю мой проект в asp.net,Предотвращение от Ajax вызова в MVC
основное ожидаемое поведение - заполнить форму имя, выберите главный модуль (раскрывающийся), выберите подмодули (раскрывающийся), Аякса передает идентификатор подмодуль выпадающего списка, создать (отправить) .. он будет представлять все значения,
Теперь код ведет себя ---- заполнить имя формы, выберите мастер и подмодуль, при выборе подмодуль из второго выпадающего списка звонит вызывается вызов ajax и создается действие, поэтому имя формы и идентификатор masterID (который извлекается из первого раскрывающегося списка) пуст ... поэтому мне нужно предотвратить ajax ca Л.Л. позвонить контроллеру
Myform ввиду бритвы
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Form</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FormName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FormName)
@Html.ValidationMessageFor(model => model.FormName)
</div>
<select id="State" name="state"></select><br />
<p>
<input id="sbmt" type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
Мой Аякса вызов
$('#State').change(function() {
var a = $('#State').val();
var token = $('[name=__RequestVerificationToken]').val();
$.ajax({
url: "/form/create",
type: "POST",
data: { __RequestVerificationToken: token, 'SubID': a }
});
});
Мой контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Form form, int SubID)
{
if (ModelState.IsValid)
{
form.CreatedBy = 1;
form.SubId = SubID;
form.CreatedDate = DateTime.Now;
form.ModifyBy = 1;
form.ModifyDate = DateTime.Now;
form.IsActive = true;
form.IsDeleted = false;
db.Forms.Add(form);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.MasterID = new SelectList(db.Departments, "MasterId", "ModuleName", form.MasterID);
return View(form);
}
»... у меня есть еще feilds в форме, которая должна быть представленным, пожалуйста, помогите мне, как я могу предотвратить вызов ajax от отправки значений ». Итак, вам нужны поля, или вы пытаетесь запретить отправку полей ... что это? – zgood
@zgood я обновляю вопрос человек, пожалуйста, посмотрите –
Я думаю, что, может быть, ваше действие Create должно быть JsonResult и вернуть json на вашу страницу вместо RedirectToAction, который у вас есть. – zgood